Visual Studio調試器指南---選項對話框--->"調試"說明(一)


“選項”對話框(“工具”菜單)中的“調試”文件夾提供以下頁,可以使用它們指定調試器工具選項。下面詳細說說。

“選項”對話框 ->“調試”->“常規”

若要訪問“常規”頁,請單擊“工具”菜單並選擇“選項”。 在“選項”對話框中,展開“調試”節點並選擇“常規”。 該頁可設置下列常規調試選項。

  • 在刪除所有斷點之前詢問
    在完成“刪除所有斷點”命令前需要進行確認。
    就是這個對話框

  • 一個進程中斷時則中斷所有進程
    發生一個中斷時,同時中斷調試器附加到的所有進程。

  • 當異常跨越 AppDomain 或托管/本機邊界時中斷
    在托管或混合模式調試中,如果滿足以下條件,公共語言運行時可能會捕獲跨越應用程序域邊界或托管/本機邊界的異常:

    1) 當本機代碼使用 COM 互操作調用托管代碼而托管代碼卻引發異常時。

    2) 當在應用程序域 A 中運行的托管代碼調用應用程序域 B 中的托管代碼而應用程序域 B 中的代碼卻引發異常時。

    3) 當代碼使用反射調用一個函數而該函數卻引發異常時。 有關反射的更多信息,請參見 反射。

    在第 2) 和 3) 條中,異常有時由 mscorlib 中的托管代碼而不是公共語言運行時捕獲。 此選項不影響在 mscorlib 捕獲到異常時中斷。

  • 啟用地址級調試
    啟用在地址級上進行調試的高級功能(“反匯編”窗口、“寄存器”窗口和地址斷點)。也就是說如果啟用該項,將會得到另外三個調試工具:“反匯編”窗口、“寄存器”窗口和地址斷點。如果不選中此項,就不會有。

  • 如果源不可用,則顯示反匯編
    自動在嘗試調試源不可用的代碼時顯示“反匯編”窗口。

  • 啟用斷點篩選器
    使您可以在斷點上設置篩選器以使其僅影響特定的進程、線程或計算機。當勾選上時,在斷點處點擊右鍵可見

    否則不可見

  • 啟用異常助手
    僅用於托管代碼。 選中此選項時,托管異常打開新的“異常助手”對話框而不是舊的“異常”對話框。 “異常助手”更詳細,可提供關於異常的更好幫助。
    勾選上時

    否則

  • 出現未經處理的異常時展開調用堆棧
    導致“調用堆棧”窗口將調用堆棧回滾到未經處理的異常發生之前的點。

  • 啟用“僅我的代碼”(僅限托管)
    啟用此功能時,調試器僅顯示和單步執行用戶代碼(“我的代碼”),而忽略系統代碼和其他經過優化或沒有調試符號的代碼。
    那么那些是“你的”代碼呢?

    1、你的代碼被優化過。
    2、你的代碼沒有符號
    3、你的代碼沒有標記DebuggerNonUserCodeAttribute

    例如在一個解決方案里有兩個項目:ClassLibrary1 and ConsoleApplication1,ConsoleApplication1調用ClassLibrary1 的類在控制台顯示一個“hello world”,在生成的時候比較ClassLibrary1為優化,在ConsoleApplication1中封裝Console.WriteLine方法地方設置一個斷點,然后單步調試,到達斷點時候,發現在斷點處中斷了,繼續按F11,並沒有進入方法內部,而是跳到了下一行。

  • 在變量窗口中顯示非用戶對象的所有成員(僅限 Visual Basic)
    啟用非用戶代碼(不是“我的代碼”)中對象中的非公共成員的顯示。

  • 啟動時若沒有用戶代碼則發出警告(僅限托管)
    當啟用“僅我的代碼”進行調試時,此選項在沒有用戶代碼(“我的代碼”)的情況下發出警告。

  • 啟用 .NET Framework 源代碼單步執行
    允許調試器單步執行 .NET Framework 源代碼。 自動啟用此選項會禁用“僅我的代碼”,.NET Framework 符號將下載到緩存位置。 可以在“選項”對話框中“調試”類別下的“符號”頁中更改緩存位置。

  • 逐過程執行屬性和運算符(僅限托管)
    使調試器無法單步執行托管代碼中的屬性和運算符。

  • 啟用屬性求值和其他隱式函數調用
    在變量窗口和“快速監視”對話框中打開屬性的自動求值和隱式函數調用。

  • 在變量窗口中對對象調用字符串轉換函數(僅限 C# 和 JavaScript)
    在變量窗口中計算對象時,執行隱式字符串轉換調用。 因此,結果將顯示為字符串而不是類型名。 僅在 C# 代碼中進行調試期間適用。 此設置可以由 DebuggerDisplay 特性重寫。

  • 啟用源服務器支持
    告知 Visual Studio 調試器從用於 Windows 的調試工具中的 SrcSrv 源服務器 (srcsrv.dll) 獲取代碼。

  • 將源服務器診斷消息打印到輸出窗口
    啟用源服務器支持時,此設置打開診斷顯示。

  • 為斷點和當前語句突出顯示整個行
    調試器突出顯示斷點或當前語句時,會突出顯示整個行。
    勾選上時

    否則

  • 要求源文件與原始版本完全匹配
    告知調試器驗證源文件是否匹配於用於生成正在調試的可執行文件的源代碼版本。 如果版本不匹配,則會提示您查找匹配源。 如果未找到匹配源,則在調試過程中不會顯示源代碼。

  • 將所有輸出窗口文本重定向到即時窗口
    將通常顯示在“輸出”窗口中的所有調試器消息改為發送到“即時”窗口。
    不勾選時

     

    勾選后

     


  • 在變量窗口中顯示對象的原始結構
    關閉所有對象結構視圖自定義。

  • 在模塊加載時取消 JIT 優化(僅限托管)
    在附加調試器的情況下,加載模塊並編譯 JIT 后,禁用托管代碼的 JIT 優化。 禁用優化可能更易於調試某些問題,盡管這會降低性能。 如果正在使用“僅我的代碼”,則取消 JIT 優化會導致非用戶代碼顯示為用戶代碼(“我的代碼”)。

  • 啟動時若無符號則發出警告(僅限本機)
    選定后,如果您嘗試對調試器沒有其符號信息的程序進行調試,系統將顯示警告對話框。

  • 如果啟動時禁用了腳本調試,則發出警告
    選定后,如果在啟動調試器時禁用了腳本調試,則會顯示警告對話框。

  • 當通過 IL 解釋(僅托管)進行小型轉儲調試時,啟用功能評估。
    啟用調試器來解釋 IL 操作碼,以在調試托管轉儲時模擬功能評估。

  • 自下而上顯示並行堆棧關系圖
    控制“並行堆棧”窗口中堆棧的顯示方向。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM