编程语言
首页 > 编程语言> > Enable coredump 调试程序

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