gdb命令调试技巧 一.信息显示1.显示gdb版本 (gdb) show version2.显示gdb版权 (gdb) show version or show warranty3.启动时不显示提示信息gdb -q exe 或者.bashrc 添加alias gdb="gdb -q",重启shell4.退出时不显示提示信息(gdb) set confirm off5.输出信息多时不会暂停输出(gdb)set pagination off 二.函数1.列出函数的名字(gdb) info…
查看栈信息 bt info stack 查看源程序 list ctrl + x + a 分屏调试,上半部分显示代码,下半部分显示调试信息. 查看内存 p xxxptr@n 查看xxxptr 指针内容 开始连续n个字节的内存 可以使用examine命令(简写为x)来查看内存地址中的值.x命令的语法如下所示: x /<n/f/u> <addr> n 表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容. f 表示显示的格式,如果是字符串,则用s,如果是数字,则可以用i. u…
<软件调试的艺术>学习笔记——GDB使用技巧摘要 <软件调试的艺术>,因为名是The Art of Debugging with GDB, DDD, and Eclipse. 作者是美国的Norman Matloff和Peter Jay Salzman,中文版由张云翻译.是人邮出版社图灵程序设计丛书初版.这里称为"艺术",个人觉得有点过了,但是其中关于gdb以及在gdb基础之上集成的DDD和Eclipse调试技巧的整理确实是做的很好,对于Linux/开源社区下的…
现实数组: 比如说要显示a[10]中全部的内容用 p a显示的是地址,用p *a显示的是第一个元素显示全部或某一个:p (int [10])*a或者p *a@10 如果你使用 p *a@3 或 p *&a[0]@3 将打印从数组中从a[0]开始的3个值.如果数组元素很多比如1000个,而你想打印a[600]开始的7个,可以使用 p *&a[600]@7. 8 gdb tricks you should know By Ksplice Post Importer on Jan 24, 201…
最近使用GDB比较多,发现除了最常用的run.break.continue.next等命令的基本用法外,还有一些非常有用的命令和用法,能让你更加得心应手地使用GDB,在这里做了一下简单的总结. 1. run 当GDB的程序需要带参数运行时,除了使用set args外,还可以直接在run(r)后面带上参数,如下面两种方式是等价的: 2. set follow-fork-mode 有时候会发现GDB无法跟踪到设置的断点,原因可能是需要调试的进程是daemon进程或者fork的子进程,而GDB默认是只…
一.引言 在Linux下开发,肯定少不了与gdb打交道,而gdb的命令又非常多,有些是不常用的但是特殊情况下却是必须的,因此记录在此,以便翻阅 二.基本命令 前面是命令全名,在不混淆的情况下,可以简写为后面的单个字符 list l : 列出源代码run r : 运行程序step s : 单步运行(进入函数内部)next n : 单步运行(跳过函数执行)continue c : 继续执行print p : 打印变量值 p/x y:以16进制显示y的值,c表示字符,s表示字符创,f表示浮点数 pty…