我正在对某些软件进行崩溃分析,并且我确定没有pdb文件可以获取sth.exe,但是当sth.exe崩溃时,每次windbg都会搜索很多路径和符号服务器。甚至当我切断vm的网络连接时,它仍然固定一段时间来搜索sth.exe的pdb。这导致我的自动分析失败。 strong>有没有办法告诉windbg sth.exe没有pdb,请不要浪费时间去搜索它?
答案 0 :(得分:4)
创建名为 symsrv.ini 的文件
在windbg is installed
的文件夹中
此示例中的目录为e:\ewdk\program files\windows kits\10\Debuggers\x86
在文件中创建一个排除部分 并将所有未知的pdb列表添加到其中 symsrv不会去寻找他们
:\>ls -l symsrv.ini
-rw-rw-rw- 1 HP 0 259 2016-08-18 17:43 symsrv.ini
:\>file symsrv.ini
symsrv.ini; ASCII text, with CRLF line terminators
:\>cat symsrv.ini
[exclusions]
livekdD.sys
vmm.pdb
livekdD.pdb
vmci.pdb
vsock.pdb
clwvd.pdb
spldr.pdb
vmkbd.pdb
vmnetsrv.pdb
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
:\>livekd
LiveKd v5.40 - Execute kd/windbg on a live system
Sysinternals - www.sysinternals.com
!sym noisy
noisy mode - symbol prompts off
kd> .reload /f
SYMSRV: vmci.pdb is in the file exclusion list
DBGHELP: d:\build\ob\bora-1141980\bora-vmsoft\build\release\crosstalk\windows\wi
n2k\i386\vmci.pdb - file not found
*** ERROR: Symbol file could not be found. Defaulted to export symbols for vmci.sys -
DBGHELP: vmci - export symbols
SYMSRV: vsock.pdb is in the file exclusion list
DBGHELP: d:\build\ob\bora-1253991\bora-vmsoft\build\release\vsock\windows\win2k\
i386\vsock.pdb - file not found
*** ERROR: Symbol file could not be found. Defaulted to export symbols for vsock.sys -
DBGHELP: vsock - export symbols
SYMSRV: vmm.pdb is in the file exclusion list
DBGHELP: m:\src\built\vs2005.sp2\vssp2\usa\ent_volume\i386\sym\sys\vmm.pdb - fil
e not found
*** ERROR: Module load completed but symbols could not be loaded for vmm.sys
DBGHELP: vmm - no symbols loaded
************* Symbol Loading Error Summary **************
Module name Error
vmci The system cannot find the file specified : srv*e:\symbols*
http://msdl.microsoft.com/download/symbols The SYMSRV client
failed to find a file in the UNC store, or there is an invalid
UNC store (an invalid path or thepingme.txt file is not present
in the root directory), or the fileis present
in the symbol server exclusion list.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
回答评论
一开始,windbg帮助中有一个设置排除列表主题
这个主题暗示了这个文件(文件是关于使用symproxy并且应该在%windowsdir \ system32 \ inetsrv \&#34中创建的;并且对symsrv.dll不起作用(注册表项也不起作用)似乎工作)
https://msdn.microsoft.com/en-us/library/windows/hardware/ff556870(v=vs.85).aspx
对我来说,我在warbg安装目录中的fastio路径中看到了一个故障,并且出现了NameNotFound错误
所以在预感中我将文件从上面提到的路径移动到windbg安装目录
事情似乎工作正常,这是很长的回来
但随后我在osr windbg列表中看到了jason shay(MSFT)的帖子,说明这个功能是在windbg 6.4.4 beta中推出的
http://www.osronline.com/showthread.cfm?link=68916
所以没有任何常识,因为角落的案例总是很难找到