c语言gdb调试

GDB 官网

什么是GDB?

GDB是GNU Project调试器,它使您可以查看另一个程序在执行过程中正在执行的操作–或该程序崩溃时正在执行的操作。

GDB可以做四种主要的事情(以及支持这些事情的其他事情)来帮助您捕获行为中的错误:

  1. 启动程序,并指定可能影响其行为的所有内容。
  2. 使程序在指定条件下停止。
  3. 检查程序停止时发生的情况。
  4. 更改程序中的内容,以便您可以尝试纠正一个错误的影响,然后继续学习另一个错误。

gdb 调试的一些命令

gcc -g -o xx xx.c
    // 编译c源程序
    
    gdb file
    // gdb 运行程序
    
    file xx
    // 装入需要调试的文件

    kill || k 
    // 终止正在调试的程序

    run 
    // 开始执行程序

    start st 
    // 开始执行程序,在main函数的第一条语句前面停下来

    list num
    // 显示程序代码10行

    break || b num
    // 给程序加断点
    
    info break || i b
    // 查看断点列表
    
    delete num
    // 删除断点 这个num是断点列表的序列号,不是行号
    
    clear location
    // 清除断点
    
    print x
    // 打印内部变量

    display || disp x
    // 在断点处自动跟踪显示变量
    
    next || n 
    // 执行下一条语句,如果该语句为函数调用,不会进入函数内部执行(即不会一步步地调试函数内部语句)
    
    continue || c
    // 继续程序的运行,直到遇到下一个断点

    quit || q
    // 退出gdb环境