如何设置windbg自动下载所有符号?

ziq*_*axi 5 debugging symbols windbg

我是编程和调试的新手.

我花了很多时间离线(没有互联网),正在阅读Inside Windows Debugging书,但有时,我发现自己需要一个pdb文件.

我做了一些挖掘,我找到了这个网址:http://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx,但版本太多了,我花了一些时间试图弄清楚如何找到合适的版.

我找到了正确的版本,我确实下载了它,但没有运气(花了我超过6小时下载200 Mb),但我发现自己在圈子的开头(pdb不是正确的,即使构建是匹配),我需要有效的互联网继续阅读我的书,这是我在国家政策期间无法得到的.

我的问题很简单,我如何让windbg一次性下载所有二进制文件的所有符号.

os info:版本:windows 7 ultimate(x86)Build:7601.win7sp1_gdr.130104-1431

谢谢,因为耐心,读我的英语不好:)

Tho*_*ler 6

我想你正在寻找文章构建调试环境

基本上它会下载您当前安装的所有文件的符号.两个月前我做了一个Windows 7安装,它工作正常 - 但它需要8.3 GB的磁盘空间,当然下载时间很长.

这个概念是遍历Windows目录中的所有DLL和EXE,将文件添加到本地符号存储区,然后在线检查符号.

SET PATH=%PATH%;"C:\Program Files\Debugging Tools for Windows"
REM Copy all .DLL files
SYMSTORE add /r /f C:\Windows\*.dll /s C:\SymbolStore\OSSymbols /t "Microsoft Windows" /v ""
REM Download symbols for .DLL files
SYMCHK /r C:\Windows\*.dll /s SRV*C:\SymbolStore\OSSymbols*http://msdl.microsoft.com/download/symbols
REM Copy all .EXE files
SYMSTORE add /r /f C:\Windows\*.exe /s C:\SymbolStore\OSSymbols /t "Microsoft Windows" /v ""
REM Download symbols for .EXE files
SYMCHK /r C:\Windows\*.exe /s SRV*C:\SymbolStore\OSSymbols*http://msdn.microsoft.com/download/symbols
Run Code Online (Sandbox Code Playgroud)

当脚本中断时,您可以再次运行它.使用散列存储DLL和EXE.如果文件未更改,则哈希不应更改.根据文档,Symstore足够聪明,只能获取丢失的文件:"SymChk总是在查询符号服务器之前搜索下游存储.


teh*_*exx 5

当您附加到要调试的应用程序或打开 .dmp 文件时,请键入

.reload /f
Run Code Online (Sandbox Code Playgroud)

这应该强制加载二进制文件的所有符号。

确保您之前已正确配置符号服务器。