在 Visual Studio 2008 中進行 Expression Blend 應用程式除錯

Microsoft Expression Blend 2 是針對 Microsoft Windows 及網站的 Microsoft Silverlight 1.0 應用程式所建立之豐富 Windows Presentation Foundation 應用程式的設計工具。Microsoft Visual Studio 2008 (也可用以建置 Microsoft Windows 應用程式) 可以開啟、建立及除錯 Expression Blend 2 專案。如果無法使用 Expression Blend 的 [測試] (F5) 功能對應用程式進行除錯,則可以使用 Visual Studio 2008 取得執行階段錯誤的詳細錯誤訊息。有時候,在 XAML 或程式碼中嘗試進行不同的變更,直到瞭解真正的情況,可以幫助您修復執行階段錯誤。不過,在應用程式執行時逐行執行程式碼,可以更迅速地確實看到發生的情況。

逐行執行您的程式碼

  1. 在 Visual Studio 2008 中開啟您的 Expression Blend 專案。

  2. 按一下您有興趣的程式碼行,然後按 F9 來設定中斷點。如果您要從頭開始逐行執行程式碼,請在 Window1.xaml.cs 檔案中的 this.InitializeComponent(); 這一行設定中斷點。

  3. 按 F5 啟動應用程式。

    Visual Studio 2008 會建置並執行您的應用程式,直到呼叫到具有中斷點的該行為止。此時,應用程式會停止執行,Visual Studio 2008 會顯示含有此中斷點的檔案,然後在即將執行的程式碼行上顯示黃色箭號。

  4. 在 [除錯] 功能表下方,有三個選項可用於逐步執行程式碼:

    • [逐步執行] (F11) 會執行下一行程式碼,但如果此行是函數呼叫,則會進入該函數呼叫的第一行。

    • [不進入函數] (F10) 也會執行下一行程式碼,但如果此行是函數呼叫,則會執行此函數,並進入函數呼叫之後的下一行。

    • [跳離函數] (SHIFT+F11) 會從函數呼叫中跳出。

    最常用的選項會是 [不進入函數] (F10)。在逐行執行程式碼時,您可以看到正在執行的程式碼路徑,以及程式碼是否未依您預期的順序來執行。

  5. 在 [區域變數] 面板中,您可以看到目前建立例項的變數以及內含的值。[區域變數] 面板中的變數值會隨著您逐行執行程式碼而更新。這有助於您為應用程式除錯,例如當您認為某個迴圈的呼叫次數不夠,或某個變數不含您所預期的值,又或是變數在用到之前就消失 (超出範圍)。

Cc295138.7e183f1f-37d8-4dcb-980c-19a5d61ca087(zh-tw,Expression.10).gif回到頁首

為 WPF 瀏覽器應用程式除錯

  1. 若要為瀏覽器中執行的 WPF 瀏覽器應用程式除錯,您需要使用 Visual Studio 2008 Standard Edition 更新的版本中之 [附加至處理序] 功能。請使用下列程序:

  2. 至少建置並執行您的專案一次以建立除錯檔案。

  3. 在命令列中鍵入下行,然後按 ENTER 鍵。

    %SystemRoot%\system32\PresentationHost.exe -debug
    

    如此即會以除錯模式啟動 WPF 程序。

  4. 在 Visual Studio 2008 中開啟您的 WPF 瀏覽器應用程式專案。

  5. 在 [專案] 功能表中,按一下 [屬性]。在 [除錯] 索引標籤中,選取 [啟用未受管理程式碼除錯]。關閉屬性視窗。

  6. 在 [除錯] 功能表中,按一下 [附加至處理序]。

  7. 在 [附加至處理序] 視窗中,按一下 [附加至] 旁的 [選取]。在 [除錯這些程式碼類型] 下方,選取 [受管理] 和 [原生],然後按一下 [確定]。在 [可使用的處理序] 下方,選取 [PresentationHost.exe]。按一下 [附加] 開始除錯。

  8. 在 [Windows 檔案總管] 中,於專案的 bin\Debug 資料夾內,按兩下應用程式的 .xbap 檔案。

    您的應用程式將會在預設瀏覽器中啟動。如果您已設定任何中斷點,則應用程式將會停止執行,Visual Studio 2008 會顯示含有中斷點的檔案,然後在即將執行的程式碼行上顯示黃色箭號。您可以從這裡來正常地逐行執行程式碼。

如需有關除錯的詳細資訊,請參閱 MSDN 文件庫Visual Studio 2008 的除錯 (英文)。

Cc295138.7e183f1f-37d8-4dcb-980c-19a5d61ca087(zh-tw,Expression.10).gif回到頁首

在 Visual Studio 2008 中為執行階段 XAML 錯誤除錯

如果在執行階段發生 XAML 錯誤,您可以將下行新增至專案檔 (.csproj 或 .vbproj) 的 <PropertyGroup> 區段中,就可以取得導致錯誤之 XAML 行的相關資訊:

<XamlDebuggingInformation>true</XamlDebuggingInformation>

因為此專案檔屬性會增加應用程式的大小,根據預設,只有在除錯版的建置中才會設為 true。

Cc295138.7e183f1f-37d8-4dcb-980c-19a5d61ca087(zh-tw,Expression.10).gif回到頁首

一般除錯

通常很難找出導致錯誤的原因或應用程式中發生錯誤的地方,但瞭解可能發生的錯誤類型一定有幫助。如需詳細資訊,請參閱本使用者指南中的 Expression Blend 應用程式除錯主題。

Cc295138.7e183f1f-37d8-4dcb-980c-19a5d61ca087(zh-tw,Expression.10).gif回到頁首