在 Visual Studio 2005 中為 Expression Blend 應用程式偵錯
Expression Blend 是一套利用 WPF 功能來建立多種 Microsoft Windows® 應用程式的設計工具。Visual Studio 2005 (也用來建置 Microsoft Windows 應用程式) 可以開啟、建立及偵錯 Expression Blend 專案。如果無法使用 Expression Blend 的「測試」(F5) 功能來為應用程式偵錯,您可以利用 Visual Studio 2005 來取得關於執行階段錯誤的詳細錯誤訊息。有時候,在 XAML 或程式碼中嘗試進行不同的變更,直到瞭解真正的情況,可以幫助您修復執行階段錯誤。不過,在應用程式執行時逐行執行程式碼,可以更迅速地確實看到發生的情況。
逐行執行您的程式碼
- 在 Visual Studio 2005 中開啟您的 Expression Blend 專案。
- 按一下您有興趣的程式碼行,然後按 F9 來設定中斷點。如果您要從頭開始來逐行執行程式碼,請在 Window1.xaml.cs 檔案中的
this.InitializeComponent();這一行設定中斷點。 - 按 F5 來啟動應用程式。
Visual Studio 會建置並執行您的應用程式,一直執行到呼叫具有中斷點的程式碼行為止。此時,應用程式會停止執行,Visual
Studio 2005 會顯示含有此中斷點的檔案,然後在即將執行的程式碼行上顯示黃色箭號。 - 在 [偵錯] 功能表下方,有三個逐步執行程式碼的選項:
- [逐步執行] (F11) 會執行下一行程式碼,但如果此行是函數呼叫,則會進入該函數呼叫的第一行。
- [不進入函式] (F10) 也會執行下一行程式碼,但如果此行是函數呼叫,則會執行此函數,並進入函數呼叫之後的下一行。
- [跳離函式] (SHIFT+F11) 會從函數呼叫中跳出。
- 在 [區域變數] 面板中,您可以看到目前具現化的變數及內含的值。[區域變數] 面板中的變數值會隨著您逐行執行程式碼而更新。這有助於您為應用程式偵錯,例如當您認為某個迴圈的呼叫次數不夠,或某個變數不含您所預期的值,又或是變數在用到之前就消失 (超出範圍)。
為 XAML 瀏覽器應用程式 (XBAP) 應用程式偵錯
若要為瀏覽器中執行的 XAML 瀏覽器應用程式 (XBAP) 應用程式偵錯,您需要使用 Visual Studio 2005 Standard 或更新版本中的「附加至處理序」功能。請使用下列程序:
- 在命令列中,輸入下列這一行文字並按 ENTER。
%SystemRoot%\system32\PresentationHost.exe -debug
這樣會以偵錯模式啟動 WPF 程序。 - 在 Visual Studio 2005 中,開啟您的 XBAP 專案。
- 在 [專案] 功能表中,按一下 [屬性]。在 [偵錯] 索引標籤中,選取 [啟用 Unmanaged 程式碼偵錯]。關閉屬性視窗。
- 在 [偵錯] 功能表中,按一下 [附加至處理序]。
- 在 [附加至處理序] 視窗中,按一下 [附加至] 旁的 [選取]。在 [偵錯這些程式碼類型] 下方,選取 [Managed] 和 [原生],然後按一下 [確定]。在 [可使用的處理序] 下方,選取 [PresentationHost.exe]。按一下 [附加] 來開始偵錯。
- 在 [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 應用程式偵錯。


