Linux下调试器GDB的简单使用图解
Posted bcbobo21cn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下调试器GDB的简单使用图解相关的知识,希望对你有一定的参考价值。
gdb是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。
当前是虚拟机上的Ubuntu系统;敲Ctrl+Alt+t,打开控制台终端;
which gcc命令,查看gcc的安装目录; gcc -v命令,查看gcc版本;
命令行输入 vi test.c,回车,进入vi编辑器编辑test.c的代码;进入以后,敲i键,进入vi的插入模式,然后可以输入代码;输入完,敲ESC退出插入模式,再敲冒号,切换到底行模式,此时在编辑器底部出现冒号;在冒号后面输入wq,回车,保存退出;
看一下test.c有了;
然后用gcc命令编译;加上-g参数,这是把调试信息加入到构建出的可执行文件中;构建出可执行文件test;
输入 gdb test,开始进入到test程序的调试;出现 (gdb) 的提示符;
输入 L 命令,可查看源代码;
输入 b 6,在第6行设置一个断点;
如果程序已经执行,输入 continue 或 c,继续执行;
输入 run 执行程序,遇到断点停止;停留在第1个断点,行6处,如下图;
此时可以用 print 变量名,来查看变量的值,目前没有变量;
输入bt命令看一下;backtrace 命令可以在遇到断点或异常而暂停执行时显示栈帧,该命令简写为 bt;
也可以用 info reg 命令,查看寄存器;
输入 step ,执行到下一句;再输入 step,已过了程序尾;
单步执行的意思时根据源代码一行一行地执行。执行源代码中一行的命令为 next ,简写为 n。执行时如果遇到函数调用,想执行到函数内部,使用 step 命令,简写为 p。
如果要逐条执行汇编指令,可以分别使用 nexti 和 stepi 命令。
下回继续;
以上是关于Linux下调试器GDB的简单使用图解的主要内容,如果未能解决你的问题,请参考以下文章