how-to-use/cpp/linuxdump.txt
2025-02-24 20:15:52 +08:00

25 lines
803 B
Plaintext

cpp程序在Linux下生成dump文件。
=========> 配置dump
1.编辑:/etc/security/limits.conf
添加:
* soft core unlimited
* hard core unlimited
2.编辑:/etc/sysctl.conf 或者 /etc/sysctl.d/99-sysctl.conf
添加:
kernel.core_pattern = /var/crash/core.%e.%p.%h.%t
3.立即生效:sysctl -p
=========> ubuntu系统
ubuntu系统下apport会覆盖配置,apport日志在(但仍然需要配置limits.conf):
/var/log/apport.log
/var/log/apport.log.*.gz
其中dump文件在:/var/lib/apport/coredump
=========> 临时应用
临时应用:sudo sysctl -w kernel.core_pattern=/tmp/coredump/core.%e.%p.%t
3.sudo mkdir -p /tmp/coredump
4.gdb /home/xx/a.out /tmp/coredump/core.a.out.13112.1738999997
5.使用bt(用于显示程序崩溃或暂停时的调用堆栈(Backtrace))查看。