学习Linux下的gdb调试

目录

程序代码

第一步:

第二步:

1,查看命令 list:

2,添加断点的命令 break:

3,启动调试 r c s:

4,查看参数的值 display(需要使用r命令运行后使用):

5,设置观察点 watch(需要程序r命令开始调试之后才能增加watch观察点):

6,显示某个值的命令 print:

7,动态改变程序中某个变量的值 set var:(variable)

8,退出  quit:


程序代码

(下面的注释是为了方便接下来看某些命令)

第一步:

通过 g++  -g 的命令,将gdb调试加入到可执行文件中,从而可以实现调试

第二步:

通过 gdb test的命令进入gdb调试阶段

1,查看命令 list:

  1. 使用list显示前10个,然后后面如果继续输入list 或者直接空格则输出接下来的后面10个
  2. list -n 显示以n为中心的10行代码
  3. list -function显示以function为中心的10行代码

2,添加断点的命令 break:

  1. break n 表示在第n行打上断点
  2. info breakpoints 显示现在已经添加的断点

  1. delete breakpoints n 表示删除某一个断点(比如n为1,就是删除第8行的断点)
  2. clear n 表示删除代码中删除某一个断点(比如n为8,就是删除代码中第8行的断点)

3,启动调试 r c s:

  1. r 表示开始(run)
  2. c 表示继续(continue)
  3. s 表示逐步调试(stap)

1,无断点情况下直接执行完

2,添加断点时(逐步调试和非逐步调试)

4,查看参数的值 display(需要使用r命令运行后使用):

  1. display x 表示查看x的值
  2. info display 表示显示所有需要查看的值
  3. delete display n 表示删除某个需要查看的值
  4. 本次添加的display命令下一次仍然可以使用

5,设置观察点 watch(需要程序r命令开始调试之后才能增加watch观察点):

  1. watch x 表示x为观察点,当x发生变化的时候,程序暂停执行
  2. info watch 查看所有的watch的值
  3. 本次添加的命令下一次就不能使用了

6,显示某个值的命令 print:

  1. p x 表示显示x的当前值

7,动态改变程序中某个变量的值 set var:(variable)

  1. set var x=i 此时可以在程序的运行过程中将x的值变为i

8,退出  quit:

输入quit表示退出

猜你喜欢

转载自blog.csdn.net/qq_46423166/article/details/115371331