Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

WinDbg

帖子发起人: skyworth   发起时间: 2010-07-02 15:13 下午   回复: 2

Print Search
帖子排序:    
   2010-07-02, 15:13 下午
skyworth 离线,最后访问时间: 2009/12/15 16:03:09 skyworth

发帖数前25位
注册: 2008-06-07
发 贴: 55
WinDbg符号文件加载
Reply Quote
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
IP 地址: 已记录   报告
   2010-07-03, 09:51 上午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: WinDbg符号文件加载
Reply Quote

很正常啊。第一次执行.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)...


IP 地址: 已记录   报告
   2010-07-03, 21:30 下午
skyworth 离线,最后访问时间: 2009/12/15 16:03:09 skyworth

发帖数前25位
注册: 2008-06-07
发 贴: 55
Re: WinDbg符号文件加载
Reply Quote
谢谢了,《软件调试》的书我有,当时不在手边上。
好久没用过windbg了,当时我把pdb文件拷到了可执行文件目录,就加载上去了。
IP 地址: 已记录   报告
高端调试 » 软件调试 » WinDbg » Re: WinDbg符号文件加载

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.