【问题标题】:Getting link.exe, lib.exe, editbin.exe and dumpbin.exe to use the symbol server获取 link.exe、lib.exe、editbin.exe 和 dumpbin.exe 以使用符号服务器
【发布时间】:2013-05-01 14:52:53
【问题描述】:

我已将 WinDbg 设置为将符号下载到 c:\symbols。 advapi32(例如)的符号在c:\symbols\advapi32.pdb\3F32049F550C42B09CF114A1FB8A97E92\advapi32.pdb 中。我获得link.exe 以及使用这些符号的其他存根exe 的唯一方法是实际位于c:\symbols\advapi32.pdb\3F32049F550C42B09CF114A1FB8A97E92 目录中。因此,例如 dumpbin /exports c:\Windows\SysWOW64\advapi32.dll 在该文件夹中返回修饰名称,如下所示:

   1770  301 000455C6 UnregisterIdleTask = _UnregisterIdleTask@12
   1771  302          UnregisterTraceGuids (forwarded to ntdll.EtwUnregisterTraceGuids)
   1772  303 000595D8 UpdateTraceA = _UpdateTraceA@16
   1773  304 000595F9 UpdateTraceW = _UpdateTraceW@16
   1774  305 00042BB6 UsePinForEncryptedFilesA = _UsePinForEncryptedFilesA@12
   1775  306 00042BFF UsePinForEncryptedFilesW = _UsePinForEncryptedFilesW@12

当从另一个文件夹运行时,它会返回:

   1770  301 000455C6 UnregisterIdleTask
   1771  302          UnregisterTraceGuids (forwarded to ntdll.EtwUnregisterTraceGuids)
   1772  303 000595D8 UpdateTraceA
   1773  304 000595F9 UpdateTraceW
   1774  305 00042BB6 UsePinForEncryptedFilesA
   1775  306 00042BFF UsePinForEncryptedFilesW

是否可以让dumpbin使用符号服务器下载的dll?

【问题讨论】:

    标签: debug-symbols pdb dumpbin


    【解决方案1】:

    msdn page for symbol paths找到答案。

    该页面指出,Windows 调试器从三个位置获取符号列表:

    • 通过 windbg 菜单和 .sympath command 设置的运行时列表,例如.sympath srv*c:\MyServerSymbols*http://msdl.microsoft.com/download/symbols
    • _NT_ALT_SYMBOL_PATH 环境变量
    • _NT_SYMBOL_PATH 环境变量

    因此,只需调用 SET _NT_SYMBOL_PATH=symsrv*symsrv.dll*c:\symbols2*http://msdl.microsoft.com/download/symbols 或将该值添加到您的永久环境(例如通过 setx)将导致符号加载。

    【讨论】:

      猜你喜欢
      • 2019-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-07
      • 2014-10-28
      • 2020-05-25
      • 2021-01-11
      • 2012-06-25
      相关资源
      最近更新 更多