內容 索引 搜尋
 

在 Visual Studio 2005 中為 Expression Blend 應用程式偵錯

Expression Blend 是一套利用 WPF 功能來建立多種 Microsoft Windows® 應用程式的設計工具。Visual Studio 2005 (也用來建置 Microsoft Windows 應用程式) 可以開啟、建立及偵錯 Expression Blend 專案。如果無法使用 Expression Blend 的「測試」(F5) 功能來為應用程式偵錯,您可以利用 Visual Studio 2005 來取得關於執行階段錯誤的詳細錯誤訊息。有時候,在 XAML 或程式碼中嘗試進行不同的變更,直到瞭解真正的情況,可以幫助您修復執行階段錯誤。不過,在應用程式執行時逐行執行程式碼,可以更迅速地確實看到發生的情況。

逐行執行您的程式碼

  1. 在 Visual Studio 2005 中開啟您的 Expression Blend 專案。
  2. 按一下您有興趣的程式碼行,然後按 F9 來設定中斷點。如果您要從頭開始來逐行執行程式碼,請在 Window1.xaml.cs 檔案中的 this.InitializeComponent(); 這一行設定中斷點。
  3. 按 F5 來啟動應用程式。
    Visual Studio 會建置並執行您的應用程式,一直執行到呼叫具有中斷點的程式碼行為止。此時,應用程式會停止執行,Visual
    Studio 2005 會顯示含有此中斷點的檔案,然後在即將執行的程式碼行上顯示黃色箭號。
  4. 在 [偵錯] 功能表下方,有三個逐步執行程式碼的選項:
    • [逐步執行] (F11) 會執行下一行程式碼,但如果此行是函數呼叫,則會進入該函數呼叫的第一行。
    • [不進入函式] (F10) 也會執行下一行程式碼,但如果此行是函數呼叫,則會執行此函數,並進入函數呼叫之後的下一行。
    • [跳離函式] (SHIFT+F11) 會從函數呼叫中跳出。
    最常用的選項是 [不進入函式] (F10)。在逐行執行程式碼時,您可以看到正在執行的程式碼路徑,以及程式碼是否未依您預期的順序來執行。
  5. 在 [區域變數] 面板中,您可以看到目前具現化的變數及內含的值。[區域變數] 面板中的變數值會隨著您逐行執行程式碼而更新。這有助於您為應用程式偵錯,例如當您認為某個迴圈的呼叫次數不夠,或某個變數不含您所預期的值,又或是變數在用到之前就消失 (超出範圍)。

為 XAML 瀏覽器應用程式 (XBAP) 應用程式偵錯

若要為瀏覽器中執行的 XAML 瀏覽器應用程式 (XBAP) 應用程式偵錯,您需要使用 Visual Studio 2005 Standard 或更新版本中的「附加至處理序」功能。請使用下列程序:

  1. 在命令列中,輸入下列這一行文字並按 ENTER。
    %SystemRoot%\system32\PresentationHost.exe -debug
    這樣會以偵錯模式啟動 WPF 程序。
  2. 在 Visual Studio 2005 中,開啟您的 XBAP 專案。
  3. 在 [專案] 功能表中,按一下 [屬性]。在 [偵錯] 索引標籤中,選取 [啟用 Unmanaged 程式碼偵錯]。關閉屬性視窗。
  4. 在 [偵錯] 功能表中,按一下 [附加至處理序]。
  5. 在 [附加至處理序] 視窗中,按一下 [附加至] 旁的 [選取]。在 [偵錯這些程式碼類型] 下方,選取 [Managed] 和 [原生],然後按一下 [確定]。在 [可使用的處理序] 下方,選取 [PresentationHost.exe]。按一下 [附加] 來開始偵錯。
  6. 在 [Windows 檔案總管] 中,在專案的 bin\Debug 資料夾中按兩下應用程式的 .xbap 檔案。
    您的應用程式將會在預設瀏覽器中啟動。如果您已設定任何中斷點,則應用程式將會停止執行,Visual
    Studio 2005 會顯示含有中斷點的檔案,然後在即將執行的程式碼行上顯示黃色箭號。您可以從這裡來正常地逐行執行程式碼。
提示 若要在 Visual Studio 2005 中建立新的 XAML 應用程式及 XAML 瀏覽器應用程式 (XBAP),則需要安裝 Visual Studio 2005 Extensions for .NET Framework 3.0。這些擴充功能可以從 MSDN 中下載 (您不需要這些擴充功能,就能對使用 Expression Blend 建立的 XAML 應用程式進行偵錯)。

如需偵錯的詳細資訊,請參閱 MSDN 上的<在 Visual Studio 2005 中偵錯>(英文)。

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

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

<XamlDebuggingInformation>true</XamlDebuggingInformation>

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

一般偵錯

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