Com 如何从“跳转”;dds esp“;WinDBG MiniDump中的内存转储到源代码?

Com 如何从“跳转”;dds esp“;WinDBG MiniDump中的内存转储到源代码?,com,windbg,Com,Windbg,假设我在WinDBG中有一个崩溃转储,其中有一个不可用的调用堆栈(可能是一个小型转储)。但是使用控制台,我可以通过一系列命令获得被调用代码的近似值,如: dds esp dds dds kb=<mem address> <etc> dds-esp 直接数字合成 直接数字合成 kb= 一旦我得到一些关于内存中函数调用的提示,比如: MyDLL!MyClass::MyFunctionName (@D:\build\<path>\CodeFile.cls @ L

假设我在WinDBG中有一个崩溃转储,其中有一个不可用的调用堆栈(可能是一个小型转储)。但是使用控制台,我可以通过一系列命令获得被调用代码的近似值,如:

dds esp
dds
dds
kb=<mem address>
<etc>
dds-esp
直接数字合成
直接数字合成
kb=
一旦我得到一些关于内存中函数调用的提示,比如:

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

有没有办法让WinDBG打开右边代码文件的源代码窗格?我总是发现自己需要一个单独的IDE/编辑器来匹配它,但是如果它能够跳转到这一行就好了,它可以通过双击该行从调用堆栈窗格中打开源代码。

允许您打开与特定地址相关联的源代码。

允许您打开与特定地址相关联的源代码。

这似乎完全正确。有没有办法让它打开到源文件中正确的行号?我尝试过类似的语法:“.open-m LineNumber FilePath”和“.open FilePath LineNumber”-第一个打开正确的文件,但无法解析行号。“.open-a addr”在正确的行为我打开正确的文件。您是否正确设置了源代码搜索路径?这似乎完全正确。有没有办法让它打开到源文件中正确的行号?我尝试过类似的语法:“.open-m LineNumber FilePath”和“.open FilePath LineNumber”-第一个打开正确的文件,但无法解析行号。“.open-a addr”在正确的行为我打开正确的文件。您是否正确设置了源搜索路径?