我仍然是一個C++相對新手,我遇到了第三方DLL的問題,我靜態鏈接到我的本機C++ DLL。我正在使用Visual Studio 2012來調試我的DLL。WinDbg能告訴我Visual Studio不能做什麼?
(FWIW,第三方DLL這是Sybase Open Client中,和我通過一個C#可執行文件我已經寫了,它動態地加載我的C++ DLL調試我的DLL。)
我用視覺Studio進入反彙編過程並查看第三方DLL的寄存器和內存使用情況。 Visual Studio給了我很多有關我的過程中發生的事情的良好信息,但是我覺得可能有更多的信息比我所看到的更多,並且可能是更容易或更有效的方式。
我讀過WinDbg是一個非常強大的工具,但需要花費相當多的時間和精力來學習如何使用它。我的問題是:學習使用WinDbg是值得的,還是Visual Studio中的調試工具會給我提供幾乎相同的信息?
嘗試在Visual Studio調試器的某個時間走過Windows堆。然後用WinDbg取得成功*。 – WhozCraig
WinDbg腳本與其語法一樣神祕,與VS允許的功能相比可以是強大的,儘管也許使用插件或宏,您可以在VS中獲得類似的功能。 – 0xC0000022L
內存泄漏查找,自動崩潰分析,處理泄漏跟蹤,內存搜索,輕鬆轉儲所有線程的調用堆棧,在命中斷點時設置/取消設置斷點,在沒有安裝VS的計算機上調試,.NET調試,日誌記錄,腳本化,支持循環..等等。基本上你得到的是一個輕量級的,沒有BS調試器,有大量的工具可以自動完成使用VS很難或不可能實現的痛苦任務,你會看到的最高代碼是MS使用這調試Windows,陡峭的學習曲線,但最終很有收穫 – EdChum