gdb脚本命令语法简介

2018-10-18  本文已影响0人  pandazhong

1. # 为脚本注释命令

2. 赋值语句:set, 变量以$开始,以便区分是gdb还是调试程序变量。

  变量可为全局或局部,视声明位置。

 例如:

    set $x = 1;

3. 函数声明语句:define .. end 语句

  define func

  end

  无行参声明,但可以直接用$arg1,$arg2引用, $argc 为形参个数

4. 显示语句: echo

5. 显示语句: printf

6. 条件语句: if..else..end

7. 循环语句: while .. end

8. 说明(帮助)语句: document.. end

  为函数书写帮助说明

9. 常规的gdb 调试命令语句。

10. 支持shell 命令, 可以实现dump, search 等复杂功能

----------------------------------------

GDB 内存查找

Usage: find

------------------------------------

给一个简单的示例,其内置find 比这个功能强。

(gdb)

define find

set $ptr = $arg0

set $cnt = 0

while ( ($ptr<=$arg1) && ($cnt<$arg2) )

    if ( *(unsigned int *)$ptr == $arg3 )

        x /wx $ptr

        set $cnt = $cnt + 1

    end

    set $ptr = $ptr + 4

end

end

注意:

gdb中使用的变量要加上'$'符号,否则会认为是被调试的程序中的变量

自定义的gdb命令脚本文件,可以用source 命令来导入。

由这几条简单语句已经勾勒出了脚本语言的概貌,可以与计算机交互了! 沟通愉快!

原文:https://blog.csdn.net/hejinjing_tom_com/article/details/50350865

上一篇 下一篇

猜你喜欢

热点阅读