我一直在努力从小型转储 [1] 中找出堆栈;但由于我还有其他事情要弄清楚,所以暂时搁置了。回到这个问题,我想我会回去使用 Windbg 来帮助我解决这个问题。我想我在正确的轨道上。
使用 Windbg 并显示调用堆栈,我不明白有几行没有与lm
列表中任何已知模块关联的地址。
例如:
...
2a 0017ce64 61500ad3 cxt+0x3280ad3
2b 0017ce98 61500ad3 cxt+0x32c0d8e
2c 0017d500 0f026cf0 0x168d6f12
2d 0017d56c 168d094f 0xf026cf0
2e 0017d5a8 6154b791 cxt+0x32cb781
...
从lm
它显示可用模块的列表,除这cxt
是那里与基础图像。但地址帧上市2c
和2d
不属于任何特定的模块。在调用堆栈的更下方有类似的行。
我没有可用的符号。我怀疑这是问题所在,因为一个模块有一个基本图像和一个大小(因此是一个结束地址)。如果这两个奇怪的地址不属于内存中模块内的范围,则它不是模块的一部分。(我想)。
我遗漏了很多知识,所以如果有人能启发我了解我遗漏了什么,我将不胜感激。
谢谢!
埃德