日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何利用.pdb文件去调试

發布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何利用.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標簽下,設置以下幾個信息:

  • Command: C:\Test\Sample.exe;
  • Command Arguments: test1? test2 (that depends on what you want to debug);
  • Working Directory: C:\Test;
  • 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文件去调试的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。