gdb调试

作者: 温暖春阳 | 来源:发表于2018-03-30 23:24 被阅读13次

    gdb的作用

    1. 随心所欲的控制程序
    2. 在重点关照的地方设置断点
    3. 可以查看程序停止时的执行环境
    4. 动态改变执行环境

    编译时要加 -g

    gdb相关指令

    启动gdb:gdb ./app --这样代表要调试当前路径下的app程序

    运行程序

    1. 单步调试启动:start
    2. 直接运行启动:r(un)
    3. 带参数运行:r(un) argv[1] argv[2] ...

    常用指令

    断点
    1. 设置断点
    • b line
    • b(reak) func
    • b(reak) file:line
    • b(reak) file:func
    1. 删除断点
    • 查看断点信息:i(nfo) b
    • 删除断点:del 编号
    变量
    1. 打印变量:p(rint) x
    2. 跟踪变量:display x
    3. 取消跟踪变量
    • 查看编号:info display
    • 取消:undisplay 编号
    调试过程

    1.显示代码:l(ist)

    • 显示具体行:list line
    • 显示函数:list func
    • 显示文件:list file:line
    1. 跳到下一断点:continue

    gdb跟踪core

    1. 设置生成core:ulimit -c unlimited
    2. 取消生成core:ulimit-c 0
    3. 设置core文件格式:/proc/sys/kernel/core_pattern
    4. 文件不能vi,可以用后面的套路 echo "/corefile/core-%e-%p-%t" > core_pattern

    相关文章

      网友评论

          本文标题:gdb调试

          本文链接:https://www.haomeiwen.com/subject/rhpwcftx.html