linux手动生成dump文件权限不足_Linux下产生dump文件进行代码调试(debug,dump,gcc)...

1、设置程序生成debug信息,通常会产生app.debug文件;

2、在Linux命令行中开启程序Crashed的时候产生dump文件:

# ulimit -c unlimited #只对当前shell进程有效

或在~/.bashrc 的最后加入: ulimit -c unlimited (一劳永逸)

设置dump文件大小为100k,输入ulimit -c 100,默认是unlimited无限制,产生的dump文件会比较大。有时候需要使用root权限来设置。

3、在命令行输入gdb命令进行调试:

# gdb ./app ./dump

或# gdb ./app --core=./dump

app为程序名称,dump为产生的dump文件名称,默认情况下会在程序所在的目录产生core.xxx类型的dump文件,每次产生的数字编号都会不一样,如core.956,core10125等。

4、在输出的内容中找到类似的中断错误描述:

Program terminated with signal 11, Segmentation fault.

#0 SDK_SimulatorTrigger () at ../../CameraSDK/camera/camerasdk.cpp:95

95 strcpy(ptr, "heel");

#后面是异常发生的源代码文件名称,95是代码行号,后面是具体的语句。

5、常用的gdb调试器命令:

1.按下两次tab键,选择Y,#列出所有命令

2.break命令显示中断位置所在的源码文件和代码行号

3.list 100显示当前中断源码文件的代码行95~104,再次回车,接着显示后面的代码

4.bt命令等于info stack命令,查看程序调用堆栈列表

5.info命令,输入info回车,可以查询很多有用的信息,比如查询调用堆栈info stack,当前线程信息info threads等。

6、输入quit或!退出gdb调试,输入help显式帮助文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值