Linux使用gdb调试段错误

  1. 开启core dump记录
    1. 使用ulimit -a,查看core file size,若为unlimited说明已经打开
    2. 否则使用下面的指令打开
      ulimit -c unlimited
  2. 安装gdb 
    apt-get install gdb
  3. 模拟段错误
        char *p = 0;
        *p = 0;
  4. 编译
    1. 加-g参数,生成debug信息
    2. 如:g++ Hello.cpp -g
    3. 不能有-s参数
    4.  若不加,会提示
  5. 离线运行调试
    1. gdb a.out core
    2. a.out:出错的程序
    3. core:自动生成的dump文件
  6. 调试信息
    1. 退出gdb查看:输入 quit
    2. 查看错误栈信息:输入where
  7. core dump文件找不到
    1. 修改默认存储位置
    2. cat /proc/sys/kernel/core_pattern 查看文件名及位置
    3. 修改路径和名称
      echo "/home/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
  8. coredump文件大小为0
    1. 执行程序的目录移动到非远程挂载的目录下面重新执行
  9. 如果gdb和core不在同一个linux系统生成的,查看不了
  10. Amba CV25开发板的gdb文件
    1. /usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/aarch64-linux-gnu/debug-root/usr/bin/gdb
    2. 复制到开发板或共享目录
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值