vs2022 如何讓.net庫文件參與程序調試【可以.net庫文件的源代碼中設置斷點,單步跟蹤】


由於.net core 是開源的。所以可以讓.net庫文件參與程序調試。具體vs2022配置如下

 

 1、設置VS2022 加載程序數據文件(.pdb俗稱符號文件)

1)選擇工具>選項>調試>符號,並確保已選中“ Microsoft符號服務器(.NET框架相關的庫)和NuGet.org符號服務器”選項。為符號高速緩存指定目錄是避免再次下載相同符號,提高源碼查看效率。

2)在“工具” >“選項” >“調試” >“常規”中禁用【啟用“僅我的代碼”】

3)在“工具” >“環境” >“文檔” >勾選【在解決方案的管理器中顯示雜項】點擊完成,再次運行調試的時候,編譯器就會從https://raw.githubusercontent.com/下載Dll庫的源代碼(僅限.net core)

 

 

 

 

 

2、Visual Studio 提供兩種 加載模式:

 

  • 自動加載所有模塊的符號,除非排除:如標題所示,除非通過單擊"指定排除的模塊"將模塊添加到排除列表中,否則 Visual Studio 將嘗試為進程中的所有模塊加載符號。如果您希望為進程中的幾乎所有內容加載符號,或者由於內存或調試啟動性能原因,您不希望加載少數非常大的符號,則通常需要此設置。
  • 僅指定模塊:默認情況下,此設置將加載磁盤上二進制文件旁邊的符號,但不會嘗試加載任何其他模塊的符號,除非您通過單擊"指定模塊"將它們添加到包含列表中。例如,如果您想使用手動加載,但始終加載名稱中帶有"Microsoft"的任何內容的符號,則可以輸入"*Microsoft*"

 

 vs2022 默認是加載所有符號的,這大型項目中式很影響調試的。所以在大型項目中要設置成按需加載符號,如下操作:

 

 

 

 

 

 

 

 

 

 

符號未加載的一些常見原因包括:

 

 

  • 符號路徑未指向正確的位置
  • 符號文件來自與進程中加載的模塊版本不同的模塊版本
    • Visual Studio 要求符號文件來自與模塊完全相同的內部版本。它無法加載來自不同版本的符號,即使源代碼相同
  • [僅限托管]"僅我的代碼"設置阻止調試器加載符號文件

 


免責聲明!

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



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