专注于音视频处理及流媒体开发!

罗索实验室

当前位置: 主页>杂项技术>VC(MFC)>

在WinDBG中查看调用栈的命令

时间:2015-12-16 11:28来源:博客园 作者:awpatp 点击:
命令 ========== k k命令显示的是一定数量的栈帧, 其中帧的数量是由.kframes命令来控制的, 默认值是256。 kp 5 显示调用栈中前5个函数以及他们的参数. kb 5 显示调用栈中前五个函数以及他们的前三个参数. kf 5 显示在调用栈中五个函数所使用的栈的大小. 每个栈帧所占的
TAG: WinDbg  


命令

==========

k

k命令显示的是一定数量的栈帧, 其中帧的数量是由.kframes命令来控制的, 默认值是256。

image

 

kp 5

显示调用栈中前5个函数以及他们的参数.

 

kb 5

显示调用栈中前五个函数以及他们的前三个参数.

 

kf 5

显示在调用栈中五个函数所使用的栈的大小.

每个栈帧所占的空间使用量的计算方法是: 将当前函数的栈基指针与在函数中调用的任何一个函数栈基指针相减.

 

举例:

image

 

手动构造栈的实践- 如何手工构造调用栈

============

首先用几幅图说明一下栈的特点, 帮助大家理解.

 

1. 栈向低地址增长.

2. 向栈中压入数据, 栈中的情况如图.

3. 有函数调用的栈中的情况.

 

注意, 手工构造栈的时候, 我们需要利用的是上面图中显示的一个模式:

在内存中的一系列的值是可以被识别出来的, 这些值表示当前站中的某个地址, 并且在这些值之后是一个可执行的地址.

 

image

 

参考资料:

<<AWD>>

(责任编辑:落鹤生)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201512/17426.html]
本文出处:博客园 作者:awpatp 原文
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容