2017-03-07 48 views
0

假设我在WinDBG中有一个不可用的调用堆栈(可能是MiniDump)的崩溃转储。但是,使用控制台,我可以得到所谓的代码的一些近似用命令的像一个序列:如何从WinDBG MiniDump中的“dds esp”内存转储跳转到源代码?

dds esp 
dds 
dds 
kb=<mem address> 
<etc> 

一旦我得到了一些线索有关的功能在内存中调用,如:

MyDLL!MyClass::MyFunctionName (@D:\build\<path>\CodeFile.cls @ LineNumber) 

有一种让WinDBG打开Source窗格到正确的代码文件的方法?我总是发现自己拉起了一个单独的IDE /编辑器来匹配它,但如果它能够跳转到线路上,它会很好,它可以通过双击该线路从“Call Stack”窗格中跳出。

回答

2

.open允许你打开与特定地址相关的源代码

+0

这似乎是绝对正确的轨道。有没有办法让它在源文件中打开到正确的行号?我试过的语法如下:“.open -m LineNumber FilePath”和“.open FilePath LineNumber” - 第一个打开正确的文件,但无法解析行号。 – paradigm72

+0

“.open -a addr”为我打开正确的文件。你的源搜索路径设置是否正确? – snoone