[Linux]gdb基本使用

gdb基本使用

前提

gcc/g++编译出的程序默认是realease版本,要使用gdb调试,首先要在编译的时候加上-g选项。

使用readelf -S [程序名]查看可执行文件的节区信息。

使用

  • gdb [程序名]:开始调试。

  • q:退出调试。

  • list/l [行号]:从给定的位置显示程序的源代码,每次十行。

  • break/b [行号]:在给定的位置打断点,会形成一个断点编号。

  • info b:查看已打的断点。

  • d [断点编号]:不指定断点编号的话就是删除所有断点,否则删除指定断点。

  • run/r:运行到断点处。

  • next/n:逐过程,不进入函数内部。

  • step/s:逐语句,进入函数内部。

  • continue/c:直接运行到下一个断点处。

  • bt:查看调用堆栈。

  • finfish:若进入了函数的内部,可以使用该命令执行到函数的末尾。

  • p [变量名]:查看变量的值。

  • display [变量名]:跟踪查看一个变量,每次停下来都显示它的值。

  • undisplay:取消对跟踪变量的查看。

  • until [行号]:跳转到指定行。

gdb会记录上次执行的指令,直接按回车键就可以重复执行。

posted @ 2024-11-16 21:11  羡鱼OvO  阅读(58)  评论(0)    收藏  举报