3
當我用WinDbg加載一個pdb文件時,如何知道pdb文件是公共還是私人?如何知道pdb文件是公共還是私人?
當我用WinDbg加載一個pdb文件時,如何知道pdb文件是公共還是私人?如何知道pdb文件是公共還是私人?
用lm查看模塊,它會告訴你相關的PDB是否是私有的。例如,這PDB是公衆:
0: kd> lm mntdll
start end module name
00007ffe`aee40000 00007ffe`af001000 ntdll (pdb symbols) c:\websymbols\ntdll.pdb\F296699DB5314A06935E88564D8CD2731\ntdll.pdb
而這一次是私有的:
0: kd> lm mole32
Browse full module list
start end module name
00007ffe`ac550000 00007ffe`ac693000 ole32 (private pdb symbols) c:\websymbols\ole32.pdb\C8E3042BDD6A44BA8D9CCF8E433F33DF1\ole32.pdb
@Andy:也許你喜歡'lm m ntdll'(帶空格)。對我來說,它使得它更清楚地說明了選項和DLL名稱 –
我通過在WinDbg中列出的「導出符號」糊塗。例如:0:124> lm 002a0000 002bd000 mdll_1 C(導出符號)mdll_smibprotocol.dll 00020000 00034000 mdll_2 C(專用pdb符號)d:\ windbg \ mypdb \ mdll_2.pdb第二個dll具有私有pdb,但第一個mdll_1真的由於編譯錯誤而沒有pdb。那麼出口符號是什麼?迄今爲止,它在一個崩潰轉儲中誤導我。 –