WinDbg, display Symbol Server paths of loaded modules (even if the symbols did not load)?

懵懂的女人 提交于 2020-01-04 09:27:36

问题


Is there a way from WinDbg, without using the DbgEng API, to display the symbol server paths (i.e. PdbSig70 and PdbAge) for all loaded modules?

I know that

lml

does this for the modules whose symbols have loaded. I would like to know these paths for the symbols that did not load so as to diagnose the problem. Anyone know if this is possible without having to utilize the DbgEng API?

edited:

I also realize that you can use

!sym noisy

to get error messages about symbols loading. While this does have helpful output it is interleaved with other output that I want and is not simple and clear like 'lml'


回答1:


!sym noisy and !sym quiet can turn on additional output for symbol loading, i.e.:

!sym noisy
.reload <dll>
X <some symbol in that DLL to cause a load>
!sym quiet

When the debugger attempts to load the PDB you will see every path that it tries to load and if PDB's weren't found or were rejected.




回答2:


To my knowledge there's no ready solution in windbg. Your options would be to either write a nifty script or an extension dependent on where you're the fittest.

It is pretty doable within windbg as a script. The information you're after is described in the PE debug directory.

Here's a link to the c++ sample code that goes into detail on extracting useful information (like the name of the symbol file in your case). Adapting it to windbg script should be no sweat.

Here's another useful pointer with tons of information on automating windbg. In particular, it talks about ways of passing arguments to windbg scripts (which is useful in your case as well, to have a common debug info extraction code which you can invoke from within the loaded modules iteration loop).




回答3:


You can use the command

lme

to show the modules that did not have any symbols loaded.

  • http://ntcoder.com/bab/tag/lme/


来源:https://stackoverflow.com/questions/2002285/windbg-display-symbol-server-paths-of-loaded-modules-even-if-the-symbols-did-n

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!