WinDbg:调用堆栈和反汇编是不一致的

时间:2014-12-19 16:27:40

标签: windows assembly windbg disassembly

我正在使用WinDbg调试程序。

在崩溃站点,最后两帧调用堆栈是:

ChildEBP RetAddr  
WARNING: Stack unwind information not available. Following frames may be wrong.
0251bfe8 6031f8da npdf!ProvideCoreHFT2+0x24db0
0251c000 011eb7a5 npdf!ProvideCoreHFT2+0x5ac1a
...

我想知道第1帧如何调用第0帧。由于第0帧的返回地址是6031f8da,我打开了反汇编窗口并跳转到该位置,代码为:

...
6031f8d5 e8a6d0ffff      call    npdf!ProvideCoreHFT2+0x57cc0 (6031c980)
6031f8da 5f              pop     edi
...

我的问题是,返回地址之前的调用指令调用npdf!ProvideCoreHFT2 + 0x57cc0,而帧0中的函数实际上是npdf!ProvideCoreHFT2 + 0x24db0。为什么存在这种不一致?我该怎么办?

非常感谢!

0 个答案:

没有答案