HOW TO:逐步執行 Just My Code
更新:2007 年 11 月
這個主題適用於:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express 版 |
僅限 Managed |
|||
Standard 版 |
僅限 Managed |
|||
Pro/Team 版 |
僅限 Managed |
表格圖例:
套用 |
|
不套用 |
|
預設隱藏的命令。 |
有時候在偵錯時,您可能只想查看自己所撰寫的程式碼,並且忽略像是系統呼叫等其他程式碼。您可以使用 Just My Code 偵錯來達到目的。Just My Code 會隱藏非使用者的程式碼,使此程式碼不會出現在偵錯工具視窗中。在逐步執行時,偵錯工具會逐步執行任何非使用者的程式碼,但是不會中途停止。
若要區別使用者程式碼 ("My Code") 與非使用者程式碼,Just My Code 會查看三個項目:DBG 檔案、PDB 檔案和最佳化。
在標準偵錯組建中,會關閉最佳化並且建立所有模組的偵錯符號。當我執行偵錯組建時,這些模組將視為 My Code。但是,如果呼叫最佳化並且沒有偵錯符號的程式庫函式,這些模組就不屬於 My Code。Just My Code 讓執行不會在程式庫程式碼中的中斷點停止,因為程式庫程式碼通常不是我想偵錯的程式碼。在 [中斷點] 視窗中,這些中斷點會與 [停用的中斷點] 圖示一起出現。
若要查看所有程式碼並在所有中斷點停止,我可以使用 [選項] 對話方塊關閉 Just My Code 偵錯。
偵錯工具在考慮何謂 My Code 時還受到三個屬性影響:DebuggerNonUserCodeAttribute 會告知偵錯工具它所套用的程式碼並不是 My Code。DebuggerHiddenAttribute 會對偵錯工具隱藏程式碼,即使 Just My Code 已關閉。DebuggerStepThroughAttribute 會告知偵錯工具應逐步執行 (Step Through) 它所套用的程式碼,而非逐步執行 (Step Into) 程式碼。
若啟用 Just My Code,就可以在 [偵錯] 功能表上選擇 [中斷],並在沒有 My Code 可顯示的位置停止執行。發生該狀況時,不會顯示任何程式碼。此外,如果選擇 [步驟] 命令,它會執行到 My Code 的下一行。
程式設計中斷陳述式 (如 Visual Basic Stop 陳述式) 的處理方式不同。即使啟用 Just My Code,偵錯工具還是會在這些陳述式中斷。遇到這種狀況時,非使用者程式碼不會隱藏,而會顯示出來,但逐步執行會帶您離開非使用者程式碼,執行到 My Code 的下一行。
注意事項: |
---|
裝置專案不支援 Just My Code。 |
啟用或停用 Just My Code 偵錯
在 [工具] 功能表上選擇 [選項]。
在 [選項] 對話方塊中,開啟 [偵錯] 節點,然後選擇 [一般]。
選取或清除 [啟用 Just My Code]。