Share via


HOW TO:逐步執行 Just My Code

這個主題適用於:

版本

Visual Basic

C#

F#

C++

Web Developer

Express

標題適用於 標題適用於

標題適用於

僅限 Managed

標題適用於

Pro、Premium 和 Ultimate

標題適用於 標題適用於

標題適用於

僅限 Managed

標題適用於

有時候在偵錯時,您可能只想查看自己所撰寫的程式碼,並且忽略像是系統呼叫等其他程式碼。 您可以使用 Just My Code 偵錯來達到目的。 Just My Code 會隱藏非使用者的程式碼,使此程式碼不會出現在偵錯工具視窗中。 在逐步執行時,偵錯工具會逐步執行任何非使用者的程式碼,但是不會中途停止。

為了區別使用者程式碼與非使用者程式碼,Just My Code 會查看三個項目:DBG 檔案、PDB 檔案和最佳化。

在標準偵錯組建中,會關閉最佳化並且建立所有模組的偵錯符號。 當您執行偵錯組建時,這些模組會被視為使用者程式碼。 但是,如果呼叫最佳化並且沒有偵錯符號的程式庫函式,這些模組就不屬於使用者程式碼。 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 偵錯

  1. 在 [工具] 功能表上選擇 [選項]。

  2. 在 [選項] 對話方塊中,開啟 [偵錯] 節點,然後選擇 [一般]。

  3. 選取或清除 [啟用 Just My Code]。

請參閱

參考

DebuggerNonUserCodeAttribute

DebuggerHiddenAttribute

DebuggerStepThroughAttribute

概念

執行控制項