我不确定我是否正确理解dds esp
或其64位对应部分dqs rsp
的原始输出。当我看到堆栈中的条目列表时,我倾向于认为,无论我看到返回地址的哪个位置,都是尚未返回的代码调用。 IOW,将它们串在一起应该形成一个很好的调用堆栈。 (现在让我们不用为k*
一组Windbg命令而烦恼。)情况并非总是如此吗?Windbg上的'dds esp'
由于存在一些第三方扩展,它对esp/rsp输出进行操作,并将条目串起来看起来像一个调用堆栈,但似乎无法与我看到的顺序相匹配来源(呃,无论我有什么资料来源)。甚至还有很久以前返回的函数。
我缺少什么?
UPDATE:
行 - 我使用第三方扩展并说:
Dumps (dps) from the stack limit the base only showing items that include the ! followed by +0x
所以,问题就变成了是什么该条目?我认为这是一些函数的返回地址,正在修复以调用另一个函数?
谢谢托马斯。我想这意味着列出esp/rsp并不是线程是否执行特定函数的可靠指示器? (即通过某些符号名称来寻找__函数地址)。 – ForeverLearning