这是kd命令返回的调用堆栈的一部分。我想知道哪些参数传递给myutil!myclass :: somefunc。如何使用windbg获取这些参数?
0a11f614 0a11f634
0a11f618 7686592c rpcrt4!Invoke+0x2a
0a11f61c 0e7b2c98
0a11f620 03edad48
0a11f624 03edaba8
0a11f628 00000206
0a11f62c 00000003
0a11f630 0a11f820
0a11f634 0a11fa38
0a11f638 768e05f1 rpcrt4!NdrStubCall2+0x2ea
0a11f63c 6dbc12b2*** WARNING: Unable to verify timestamp for myutil
myutil!myclass::somefunc
提前致谢, -Neel。
答案 0 :(得分:0)
about the stack being different
kd和kp所示的堆栈没有理由不同。它们在相同数据上基本上是不同的表示。 如果您在此处粘贴堆栈,我们可能会指出最新情况! 你确定在同一个地方运行这两个命令吗?
how to check if symbols are loaded correctly
执行命令:“lml”以查看已加载哪些二进制文件。
Coming to your original question
kP是查看传递给函数的参数的最简单方法。
另一种做同样事情的方法是 一个。运行“kn”,以便在堆栈跟踪中看到帧编号。
湾通过“.frame
移动到感兴趣的框架℃。现在使用“dv”转储变量
如果你真的很有激情,你可以阅读有关paramter传球的内容。然后您需要的是EBP +一些汇编代码读取以确定我们传递的参数。