Windbg中查看函数参数

前言:2013-06-20记录在sina blog上,现在移过来。

今天在调试的时候想起以前自己在理解Windbg查看参数时的窘迫~所以记录下来

方式一:kb命令

断下后,输入kb,会回显调用堆栈的详细信息如:

Windbg执行kb

第一个是EBP地址;
第二个是返回地址;
从第三个参数开始就依次是函数调用的参数啦,如果要查看里面的具体值可以使用d系列的命令。

方式二:在内存窗口中查看esp

windbg堆栈

要理解在此处通过查看esp从而获取调用参数的真实意义,需要了解函数栈的布局。
简单介绍下:

  • 函数栈的生长方向是从高地址向低地址生长
  • 参数入栈:从右向左
  • 函数栈的基本布局
    函数栈布局
    每个函数在其开始的部分会保存EBP当前值,而我们的断点下在还没有执行到push ebp这一步之前,所以当前esp指向的是返回地址。So,esp+4表示最后压入的参数(也就是最左边的参数),通过esp+4*n(N*)可以遍历传入的参数。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值