如何利用.pdb文件去调试
如何利用.pdb文件去調試
轉載自:http://www.cnblogs.com/metaboy/archive/2010/04/20/1716316.html
?
問題需求:
1.需要去調試一個exe,查看內部執行的過程,但是該exe的源代碼是孤立的,利用make文件組織進行編譯.每天會給出編譯包。
?
問題的分析:
考慮1. 新建一個VS的工程,然后手動添加這些文件,然后編譯調試。
考慮2. 既然有make文件,那么之前是否有編譯成功的版本,該版本是否保存了調試的符號文件?
針對方案1:手動添加得考慮一下該工程的依賴關系,是否涉及太多的模塊,否則將問題更加復雜化就不好了,我的需求中提到我的這個工程牽制的模塊非常多,所以這個方案我肯定要放棄的。
針對方案2:我可以獲取到每日編譯包,打開找了一個,找到了該 *.exe,而且Symbol Files統一放到一個文件下管理,那么我沒有理由不用第二種方案.
?
背景知識:
方案2肯定會用到的知識有符號文件,所以先大致說一下符號文件(Symbol Files)的定義.
符號文件(Symbol Files)是一個數據信息文件,它包含了應用程序二進制文件(比如:EXE、DLL等)調試信息,專門用來作調試之用,最終生成的可執行文件在運行時并 不需要這個符號文件,但你的程序中所有的變量信息都記錄在這個文件中。所以調試應用程序時,這個文件是非常重要的。用 Visual C++ 和 WinDbg 調試程序時都要用到這個文件。
?
解決方案;
1.新建一個 Visual C++ Win32 Console Application project.
這個控制臺的程序只是一個用來進行調試的宿主程序,所以可以任意的創建,在這里我創建一個默認的Win32 Console Application.
?
2.選擇工程的屬性,在Debugging標簽下,設置以下幾個信息:
3.In VS, Tools -> Options -> Debugging -> Symbols, 然后指定Symbol file(.pdb) ,將該路徑填入即可。
?
4.打開Sample.exe的源代碼文件,將調試中需要用到的文件打開并設置斷點,F5即可調試.
?
總結:
碰到這個問題的時候,我第一反應就是用第一種方案,但是花費很長時間之后還是問題重重之后,我就看是意識到可能這并不是很好的辦法,通過分析和研究,選擇第二種方案,不到10分鐘就可以解決這個問題。
碰到問題一定要先分析一下已有的資源,然后再進行方案的選擇。
?
?
其他參考:符號文件——Windows 應用程序調試必備
?
轉載于:https://www.cnblogs.com/lbsx/archive/2010/10/09/1846519.html
總結
以上是生活随笔為你收集整理的如何利用.pdb文件去调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 物理学——物理引擎
- 下一篇: Delphi下的GDI+编程[2] Dr