• 在WinDBG中查看调用栈的命令


    命令

    ==========

    k

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

    image

    kp 5

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

    kb 5

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

    kf 5

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

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

    举例:

    image

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

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

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

    1. 栈向低地址增长.

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

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

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

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

    image

    参考资料:

    <<AWD>>

  • 相关阅读:
    Wx-小程序-使用canvas截图保存
    Wx-小程序-图片预览、保存
    CSS-文本溢出省略号表示
    Wx-小程序-长按复制文本
    Vue-组件通信
    JS-禁用浏览器前进后退
    JS-内置对象和方法
    JS-冒泡排序
    JS-常用方法合集
    Wx-小程序-组件式开发之Vant
  • 原文地址:https://www.cnblogs.com/xumaojun/p/8528557.html
Copyright © 2020-2023  润新知