2013-05-01 98 views
0

我有WinDbg設置爲下載符號c:\ symbols。 advapi32的符號(例如)在c:\symbols\advapi32.pdb\3F32049F550C42B09CF114A1FB8A97E92\advapi32.pdb。我得到link.exe和其他stub exe使用這些符號的唯一方法實際上是在目錄c:\symbols\advapi32.pdb\3F32049F550C42B09CF114A1FB8A97E92。因此,例如dumpbin /exports c:\Windows\SysWOW64\advapi32.dll回報修飾的名該文件夾中,像這樣:獲取link.exe,lib.exe,editbin.exe和dumpbin.exe使用符號服務器

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

而且從另一個文件夾中運行,當它返回:

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文件服務器?

回答

0

找到了答案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)將導致符號加載。