GDB调试详解【转】

原文: GDB调试详解 https://blog.csdn.net/daaikuaichuan/article/details/89791255

  • 调试器主要操作类型

    • 单步调试源码

    • 检查变量

    • 监视变量

    • 移动调用栈   

  • gdb *** : 启动调试

    gdb -tui ***: 显示源码界面和调试界面
    help:查看命令帮助,具体命令查询在gdb中输入help + 命令,简写h
    run:重新开始运行文件(run-text:加载文本文件,run-bin:加载二进制文件),简写r
    start:单步执行,运行程序,停在第一执行语句
    list:查看原代码(list-n,从第n行开始查看代码。list+ 函数名:查看具体函数),简写l
    set:设置变量的值
    next:单步调试(逐过程,函数直接执行),简写n
    step:单步调试(逐语句:跳入自定义函数内部执行),简写s
    backtrace:查看函数的调用的栈帧和层级关系,简写bt
    frame:切换函数的栈帧,简写f
    info:查看函数内部局部变量的数值,简写i
    finish:结束当前函数,返回到函数调用点
    continue:继续运行,简写c
    print:打印值及地址,简写p
    quit:退出gdb,简写q
    break+num:在第num行设置断点,简写b
    info breakpoints:查看当前设置的所有断点
    delete breakpoints num:删除第num个断点,简写d
    display:追踪查看具体变量值
    undisplay:取消追踪观察变量
    watch:被设置观察点的变量发生修改时,打印显示
    i watch:显示观察点
    enable breakpoints:启用断点
    disable breakpoints:禁用断点
    x:查看内存x/20xw 显示20个单元,16进制,4字节每单元
    run argv[1] argv[2]:调试时命令行传参
    set follow-fork-mode child#Makefile项目管理:选择跟踪父子进程(fork())

  • 调试core dump文件(gdb main core)

  • 调试多线程(辅助以pstree pstack attach)

    •   

       

       

posted @ 2021-03-29 23:00  小天儿  阅读(128)  评论(0)    收藏  举报