WinDbg 命令"dd ebp"出错

《软件调试》答疑

WinDbg 命令"dd ebp"出错


浪淘沙 2009-06-26, 09:26 上午

大家好!

《软件调试》30.14.2 P977有讲到“dd ebp-10”命令。

 但我在WinDbg中输入此命令,得到错误提示:Couldn't resolve error at 'ebp-10',

输入“r ebp”,则无误,请问怎样得到main 函数栈帧附近(即ebp-10)内存的原始内容.

(我使用的WinDbg的版本为6.11.0001.404)

谢谢!!

Re: WinDbg 命令"dd ebp"出错


浪淘沙 2009-06-26, 10:40 上午
已解决,r ebp获取实际的ebp值,再 -0x10即可。
如 r ebp得到ebp=0012ff68,0x0012ff68-0x10=0x0012ff58.
输入:dd 0x0012ff58即是。

Re: WinDbg 命令"dd ebp"出错


格蠹老雷 2009-06-26, 15:07 下午
分两步操作当然可以,但是直接执行dd ebp-10应该也可以呀,只要当时的上下文包含有效的EBP值。比如,下面是随便开始一个用户态调试,然后执行dd ebp-10:
0:000> dd ebp-10
0012fd44 00000000 7ffdb000 0012fedc 0169f746
0012fd54 0012fd7c 5f4396fb 004167c8 00000000
0012fd64 00000000 00000000 0012fedc 0169f746
0012fd74 7ffdb000 00416790 0012fdb8 5f43223f
0012fd84 0012fedc 0169f746 7ffdb000 00416790
0012fd94 00416790 00000000 00000000 0012fe74
0012fda4 00000000 00000000 00000001 004167c8
0012fdb4 00000000 0012fe18 5f43463f 00000004

Powered by Community Server Powered by CnForums.Net