Enable coredump 调试程序
作者:互联网
1. 打开内核 coredump 功能
sudo systemctl stop apport.service
sudo systemctl disable apport.service
sudo echo 'kernel.core_pattern=/var/crash/%e.%t.%s' >> /etc/sysctl.conf # /etc/sysctl.conf 可能要改变权限才能读写
sudo echo '* soft core unlimited' >> /etc/security/limits.conf
sudo reboot
2. sudo 运行自己的程序
注意:如果是使用 service 服务来启动程序,当程序崩溃时是不能将 coredump 文件保存到本地文件的,应该是跟输出定向有关。
3. 使用 gdb 调试 coredump 文件
gdb ./linuxProg linuxProg.1630575379.11
gdb 的调试命令可以查一下,主要有:
(gdb) bt # 查看堆栈
(gdb) frame 0 # 查看第0帧
(gdb) info threads # 查看当前帧所有线程
(gdb) p myParam # 查看变量值
(gdb) thread 1 # 切换线程 1
(gdb) info r # 查看寄存器
标签:service,sudo,conf,查看,coredump,gdb,Enable,调试程序 来源: https://blog.csdn.net/lc250123/article/details/120097078