在 Visual Studio 2010 中進行 Expression Blend 應用程式偵錯

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

逐行執行您的程式碼

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

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

  3. 按 F5 啟動應用程式。

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

  4. [偵錯] 功能表上有三個選項可用於逐步執行程式碼:

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

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

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

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

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

WPF 瀏覽器應用程式偵錯

若要為瀏覽器中執行的 WPF 瀏覽器應用程式進行偵錯,您必須使用 Visual Studio 2010 Standard Edition (含) 以上版本中的 [附加至處理序] 功能。請使用下列程序。

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

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

    %SystemRoot%\system32\PresentationHost.exe -debug
    

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

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

  4. 在 [專案] 功能表中,按一下 [屬性]。在 [偵錯] 索引標籤中,選取 [啟用 Unmanaged 程式碼偵錯]。關閉屬性視窗。

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

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

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

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

如需偵錯的詳細資訊,請參閱 MSDN 上的 Debugging in Visual Studio Cc295138.xtlink_newWindow(zh-tw,Expression.40).png (在 Visual Studio 中進行偵錯)。

在 Visual Studio 2010 中為執行階段 XAML 錯誤進行偵錯

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

<XamlDebuggingInformation>true</XamlDebuggingInformation>

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

一般偵錯

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

Copyright © 2011 by Microsoft Corporation. All rights reserved.