背景
在封闭网络(即没有互联网连接)上工作时,Microsoft 的公共(public)符号服务器在我的调试 session 期间不可用。我最感兴趣的是 Windows 系统库和 C 运行时库(例如 kernel32.dll、mscvrt100.dll)的调试符号。
我在封闭网络上创建了一个调试符号服务器,并使用来自 here 的调试符号包“植入”它。 .问题是随着 Windows 更新,一些二进制文件需要更新符号。我不知道有什么地方可以“整齐地”捆绑这些内容以供下载。我知道的唯一选择是使用 symchk在机器上的 Windows/system32 目录中下载将用于调试的所有符号,这既乏味又耗时。
问题
如何在封闭网络上操作和更新 Microsoft Windows 的符号服务器?有什么方法可以“镜像”所有 Windows 调试符号,这样您不仅可以获得版本和服务包的符号,还可以获得修补程序和汇总的符号?
最佳答案
填充“封闭网络符号”存储的另一种选择是以这种方式使用 symchk:
继续目标机器(你想要符号的机器)。安装windbg并运行命令
symchk/r c:\windows\*.dll/om c:\symbols.txt
在连接到互联网的机器上,检索生成的 symbols.txt 文件并使用相同的 symchk:
symchk/im c:\temp\symbols.txt
第一步,symchk 将生成一个带有目标机器二进制文件签名的文本文件。在第二步中,读取此列表并且 symchk 实际上从 Microsoft 符号服务器检索 pdb 文件。
关于windows - 如何在封闭网络上操作和更新 Microsoft Windows 的符号服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7471117/