WinDbg符号文件加载

WinDbg

WinDbg符号文件加载


skyworth2010-07-02, 15:13 下午
pdb文件在d:\symcache根目录,但是始终无法加载,以下是windbg输出,为什么呢?

iptsvr.pdb\8439F7A3C92A4014BCFD948DE875CD531\iptsvr.pdb 这个尤其奇怪,符号文件在symcache目录下

0:034> .reload /f iptsvr.exe
SYMSRV: d:\symcache\iptsvr.pdb\8439F7A3C92A4014BCFD948DE875CD531\iptsvr.pdb not found
SYMSRV: http://msdl.microsoft.com/download/symbols/iptsvr.pdb/8439F7A3C92A4014BCFD948DE875CD531/iptsvr.pdb not found
DBGHELP: D:\WAYNE\bin\iptsvr.pdb - file not found
DBGHELP: d:\nchevron\pdbfiles\iptsvr.pdb - file not found
*** ERROR: Module load completed but symbols could not be loaded for D:\WAYNE\bin\iptsvr.exe
DBGHELP: iptsvr - no symbols loaded
0:034> .sympath
Symbol search path is: srv*
Expanded Symbol search path is: SRV*d:\symcache*http://msdl.microsoft.com/download/symbols
0:034> .sympath d:\symcache
DBGHELP: Symbol Search Path: d:\symcache
DBGHELP: Symbol Search Path: d:\symcache
Symbol search path is: d:\symcache
Expanded Symbol search path is: d:\symcache
0:034> .reload
Reloading current modules
................................................................
..................
DBGHELP: ntdll - public symbols
d:\symcache\ntdll.pdb\36515FB5D04345E491F672FA2E2878C02\ntdll.pdb
..
0:034> .reload /f iptsvr.exe
SYMSRV: d:\symcache\iptsvr.pdb\8439F7A3C92A4014BCFD948DE875CD531\iptsvr.pdb not found
DBGHELP: D:\WAYNE\bin\iptsvr.pdb - file not found
DBGHELP: d:\nchevron\pdbfiles\iptsvr.pdb - file not found
*** ERROR: Module load completed but symbols could not be loaded for D:\WAYNE\bin\iptsvr.exe
DBGHELP: iptsvr - no symbols loaded

Re: WinDbg符号文件加载


格蠹老雷2010-07-03, 09:51 上午

很正常啊。第一次执行.reload时,搜索的符号路径是:

SRV*d:\symcache*http://msdl.microsoft.com/download/symbols

下游符号库的路径是d:\symcache,因此WinDBG搜索这个目录时是按搜索下游符号库的方式来搜索的,即自动组件全路径:

xxx.pdb\guid+age\xxx.pdb

第二次.reload时,虽然把d:\symcache设置成了普通符号文件路径(使用.sympath),但是因为这个目录刚才做过下游符号库,其中留用标志文件(pingme.txt),所以WinDBG还是以下游符号库的方式来搜索这个目录。

建议把下游符号库和普通的符号文件目录分开,不要放在一起,以免混淆。有《软件调试》的朋友,可以读一下30.8节(特别是30.8.2)...


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用WinDbg加载指定的符号文件时,可以通过以下步骤进行设置: 1. 首先,在WinDbg菜单中选择File->Symbol File Path(Ctrl+S)进行设置。 2. 在弹出的窗口中,输入你的符号路径。路径的格式应符合Windows操作系统路径格式,可以输入多个路径,中间以分号间隔。例如:d:\SymbolsLocal; 3. 如果需要从Microsoft的服务器上下载符号文件,可以在符号路径中添加以下设置:srv*d:\SymbolsLocal*http://msdl.microsoft.com/download/symbols。这样,如果相关符号表在d:\SymbolsLocal目录中找不到,WinDbg会自动在Microsoft的Symbol Servers上下载。 4. 如果你想调试自己的应用程序,建议将自己应用程序的*.pdb文件的路径放在符号路径的前面,这样WinDbg在查找符号时会更快。例如,在WinDbg的File->Symbol File Path对话框中输入以下文字:C:\WINDOWS\Symbols;d:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\symbols;.sympath SRV*d:\SymbolsLocal*http://msdl.microsoft.com/download/symbols。 通过以上设置,你可以让WinDbg加载指定的符号文件进行调试。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [为WinDbg设置符号文件路径](https://blog.csdn.net/cbbbc/article/details/53085376)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [使用Windbg时关于符号文件路径设置问题](https://blog.csdn.net/weixin_42395669/article/details/112803214)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值