Windbg Preview中kd堆栈转储命令未从esp起始位置输出问题咨询
Windbg Preview
kd命令输出起始地址不符问题解答 该现象不属于Windbg Preview的已知Bug,是对kd命令的功能定位理解偏差导致的:
kd命令的设计逻辑为输出栈帧关联的内存内容,默认起始地址为当前栈帧基地址寄存器ebp存储的值,而非栈指针寄存器esp的值。你提供的调试日志中,首次断下时ebp值为0x5bf9b0,和kd 10输出的首个内存地址完全匹配,属于命令的正常行为。- 若需要从
esp指向的地址开始输出栈内存,可使用通用内存查看命令dd,参考用法为dd esp L10,即可输出从esp起始的10个双字长度的内存数据。
相关调试日志
(3f44.87c): Break instruction exception - code 80000003 (first chance) eax=00000000 ebx=00000000 ecx=189c0000 edx=00000000 esi=77d52054 edi=77d5261c eip=77df1ba2 esp=005bf984 ebp=005bf9b0 iopl=0 nv up ei pl zr na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246 ntdll!LdrpDoDebuggerBreak+0x2b: 77df1ba2 cc int 3 0:000> kd 10 005bf9b0 005bfc10 005bf9b4 77dec0a8 ntdll!LdrpInitializeProcess+0x1c98 005bf9b8 c12453e3 005bf9bc 0286d000 005bf9c0 00000000 005bf9c4 02870000 005bf9c8 00640062 005bf9cc 02af2738 005bf9d0 005bfb44 005bf9d4 00000000 005bf9d8 00000201 005bf9dc 00000000 005bf9e0 005bfb40 005bf9e4 00000000 005bf9e8 02af4198 005bf9ec 77e65d00 ntdll!LdrpWorkQueue
问题现象截图

内容的提问来源于stack exchange,提问作者Zeromus Golbeze
相关产品推荐
相关产品推荐

