是否有一种来自WinDbg的方法,无需使用DbgEng API来显示所有加载模块的符号服务器路径(即PdbSig70和PdbAge)?
我知道
lml对其符号已加载的模块执行此操作。我想知道没有加载的符号的这些路径,以便诊断问题。有人知道这是否可能,而不必使用DbgEng API吗?
编辑:
我也意识到你可以用
!sym noisy若要获取有关符号加载的错误消息,请执行以下操作。虽然这确实有帮助的输出,但它与我想要的其他输出交织在一起,并不像'lml‘那样简单明了。
发布于 2010-01-04 21:19:22
!sym噪音和!sym静音可以为符号加载打开额外的输出,即:
!sym noisy
.reload <dll>
X <some symbol in that DLL to cause a load>
!sym quiet当调试器尝试加载PDB时,您将看到它试图加载的每一条路径,以及如果PDB的路径未被找到或被拒绝。
发布于 2010-01-05 23:54:37
据我所知,在风车中没有现成的解决办法。您的选择是要么编写一个漂亮的脚本,要么根据您最适合的位置编写一个扩展。
作为脚本,它在windbg中是非常可行的。您要查找的信息将在PE调试目录中描述。
下面是关于提取有用信息的链接示例代码(如您的示例中符号文件的名称)。让它适应windbg脚本应该是不费力的。
下面是另一个有用的指针,它提供了大量关于自动化windbg的信息。特别是,它讨论了向windbg脚本传递参数的方法(对于您的情况也很有用,可以在加载的模块迭代循环中调用公共的调试信息提取代码)。
发布于 2012-08-18 01:17:04
您可以使用以下命令
lme以显示没有加载任何符号的模块。
https://stackoverflow.com/questions/2002285
复制相似问题