GDB调试

(1)使用gdb调试
    编译时加-g
    gdb main   启动gdb调试
    run 或 r   运行整个程序
    start     调试程序,停留在main函数
    next或n  单步调试
    step或s  单步调试,可以进入函数
    quit或q 退出调试
    break或(b) 行号   -- 主函数所在文件的行
    break或(b) 函数名
    b 文件名:行号 
    list或l         --查看代码,默认显示10行
        l --默认显示主函数对应的文件
        l 文件名:行号
    d(el) 编号 --删除断点
    i(nfo) b    --查看断电
    c  运行到下一个断点
    p  变量  --查看变量值
    ptype 变量 --查看变量类型
    set 设置变量值
        set argc=3
        set argv[1]="12"
        set argv[2]="7"
    display 变量   --跟踪变量变化
    undisplay 编号
    b 断点 if 条件    有条件的断点  b 32 if i=1

(2)core文件
    设置生成core: unlimit -c unlimited
    取消生成core: unlimit -c 0
    设置core文件生成名字格式; /proc/sys/kernel/core_pattern
    文件不能vi写入,可以用 echo "/corefile/core-%e-%p-%t">core_pattern  必须在root用户下
    使用core  gdb main core
    where 查看哪里出错
 

你可能感兴趣的:(c++)