我需要在W2K8 R2的封闭网络中调试内核转储。我尝试使用“Windows 7 Service Pack 1 x64零售符号,所有语言”包下载“Windows 7和Windows Server 2008 R2”符号 Microsoft
我将其刻录,复制并加载符号,WinDbg声称它是ntkrnlmp.pdb
的错误PDB。所以这很好,除了我不想继续这样做,试图找到正确的包下载。
我开始研究这个问题并找到很多文章讨论如何让symchk
递归查看Windows或System32的本地目录以自动下载这些文件的PDB。
但我需要能够为不同的操作系统下载所有PDB而不是搜索网页:Windows 2008 R2,而不是Win7。
有没有办法将Windows 2008 R2的所有可能符号下载到Windows 7,以便可以复制/刻录它们并最终在封闭网络上使用?
答案 0 :(得分:3)
我使用的方法是下载转储所需的所有符号。这可以按如下方式完成:
这样你就不需要从受限制的机器上复制任何敏感信息(如转储)。
实现这一目标的工具是WinDbg附带的symchk
。以下命令应该有效:
symchk /id <dumpfile>.dmp /om symbols.lst
symchk /im symbols.lst /s srv*X:\symbols\*http://msdl.microsoft.com/download/symbols /od
参数是:
/id
输入是转储文件/om
输出是一个清单文件/im
输入是清单文件/s
符号服务器/od
输出详细信息以查看问题可以使用相同的方法为您的操作系统下载所有符号。然后是步骤4的命令
symchk /r /if %windir% /om symbols.lst
参数是:
/r
递归地/if
从文件(或目录,如果递归)输入