> 文档中心 > 【Linux】linux调试器-gdb

【Linux】linux调试器-gdb


Linux调试器-gdb

文章目录

  • Linux调试器-gdb
    • 1. 进入gdb模式
    • 2. 生成debug文件
    • 3. 调试

1. 进入gdb模式

gdb test

【Linux】linux调试器-gdb

可以被调试的程序,二进制文件里面一定有debug信息

类似vs里debug和release

linux默认情况下,形成的可执行文件里面没有debug信息

【Linux】linux调试器-gdb


2. 生成debug文件

gcc test1.c -o test1_debug -g

【Linux】linux调试器-gdb

因为多了debug相关的信息,所以文件体积要相对来说是比较大的

【Linux】linux调试器-gdb

现在他有了debug信息


【Linux】linux调试器-gdb

只在c99支持

-std=c99

【Linux】linux调试器-gdb


【Linux】linux调试器-gdb

这里就可以继续进行调试了

3. 调试

  • 让程序直接跑起来相当于vs的F5
run

【Linux】linux调试器-gdb


  • 显示代码
list/l + 数字看想看的开始行数

【Linux】linux调试器-gdb


如果给函数打断点则会跳到函数的第一行

b + 行号

【Linux】linux调试器-gdb


  • 断点属性
info b

【Linux】linux调试器-gdb


  • 继续跑
run/r

【Linux】linux调试器-gdb


  • 逐过程/逐语句
s/n

【Linux】linux调试器-gdb


  • 查看变量数值 每次到下一步都会显示
display 变量/&变量

【Linux】linux调试器-gdb


  • 如果不想每次都显示
P/p
  • 或者删除监视的值
undisplay 删除监视变量的编号

【Linux】linux调试器-gdb


  • 跳出函数
finish

【Linux】linux调试器-gdb

直接结束函数


  • 跳到下一个节点
continue

【Linux】linux调试器-gdb


  • 直接到指定行
until 指定行

【Linux】linux调试器-gdb


  • 删除断点
d 断点序号

  • 禁用/启用断点
disable/enable
  • 显示栈堆进程
bt

【Linux】linux调试器-gdb


  • 强制改变变量数值
set var i=2

【Linux】linux调试器-gdb


素彩网