gdb define自定义用户命令
2016-01-29 23:25
274 查看
gdb define命令,用于定义一系列的gdb指令,就相当于调试的时候,用函数一样。
基本语法:
命令可以接收最多10个参数,参数名为$arg0,$arg1,…,$arg9
一个简单的例子:
还可以用if/else语句:
写好的命令可以放在文件里,然后gdb中用source命令引入。
如果source两次相同的文件,gdb会提示:
可以在文件第一行写一句:
来解决问题。
其实gdb在启动时,会在当前用户的主目录中寻找一个名为 .gdbinit 的文件,找到的话就执行里面的所有命令。所以我们可以把自己常用的define都写在里面就行了。
基本语法:
define 名字 命令块 end
命令可以接收最多10个参数,参数名为$arg0,$arg1,…,$arg9
一个简单的例子:
(gdb) define add Type commands for definition of "add". End with a line saying just "end". >p $arg0 + $arg1 >end (gdb) add 1 2 $1 = 3
还可以用if/else语句:
(gdb) define add >set $s = $arg0 + $arg1 >if $s > 10 >printf "%d>10\n",$s >else >printf "%d<=10\n",$s >end >end (gdb) add 1 2 3<=10
写好的命令可以放在文件里,然后gdb中用source命令引入。
如果source两次相同的文件,gdb会提示:
Redefine command "add"? (y or n) [answered Y; input not from terminal]
可以在文件第一行写一句:
set confirm off
来解决问题。
其实gdb在启动时,会在当前用户的主目录中寻找一个名为 .gdbinit 的文件,找到的话就执行里面的所有命令。所以我们可以把自己常用的define都写在里面就行了。
相关文章推荐
- "反复平方"——快速计算一个数的平方
- LeetCode330. Patching Array【贪心】
- 温控算法的实现:四
- 遇见最美的你:Flash
- Potplayer 全屏时 顶部有标题栏 显示文件名
- 为什么要超越Hadoop(书摘)
- 11gR2 中asm 实例的spfile文件的默认存储位置
- redhat使用centosYUM源
- 生活随笔:病人
- VMware on Linux(Centos6.6)
- hdu4057 ac自动机+dp(我用的方法)
- is_int() & is_numeric()
- Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能
- Android高级控件(一)——ListView绑定CheckBox实现全选,增加和删除等功能
- nginx服务器请求建立链接的过程
- Android之ListView优化
- 【niubi-job——一个分布式的任务调度框架】----框架设计原理以及实现
- VMware中centos安装kvm
- Launch Monitor综述
- JSP(三)JSTL表达式