方法一 : Core
称为Coer Dump文件
当程序宕掉的时候,可以生成当时程序对应内存的镜像,从而分析当时程序的出错在哪边。
例如:调试服务端程序,让程序跑,直到宕掉
如何生成 :
ulimit -c n 单位kB
n表示CoreDump最大有多大,再大就不会生成了
ulimit -c unlimited
不显示CoreDump文件的大小
注: 如果服务端程序是自动重启的,就会造成某一次出错存的CoreDump文件超大,占用大量系统资源,所以一般都会限制CoreDump文件的大小。
gdb main core
当CoreDump文件生成后直接通过gdb main core,查看dump文件
CoreDump文件的保存路径查看:
lee@lee-PC:~/code/src/coredump$ cat /proc/sys/kernel/core_pattern
|/lib/systemd/systemd-coredump %P %u %g %s %t 9223372036854775808 %h %e
- 首先设置下CoreDump文件大小,系统一般默认为0,这里就是为了示例,设置为无限制。
lee@lee-PC:~/code/src/gdb$ ulimit -c
0
lee@lee-PC:~/code/src/gdb$ ulimit -c unlimited
lee@lee-PC:~/code/src/gdb$ ulimit -c
unlimited
lee@lee-PC:~/code/src/gdb$
- gdb main core
通过gdb调试程序,并指定对应的CoreDump文件,这里的core文件实在当前目录下;
bt 可以打印堆栈信息,定位错误所在;

方法二:通过coredumpctl
- 安装
sudo apt search coredumpctl sudo apt install systemd-coredump coredumpctl命令查看coredump信息:
lee@lee-PC:~/code/src/coredump$ coredumpctl
Hint: You are currently not seeing messages from other users and the system.
Users in groups 'adm', 'systemd-journal' can see all messages.
Pass -q to turn off this notice.
TIME PID UID GID SIG COREFILE EXE
Tue 2020-12-29 10:01:45 CST 8550 1000 1000 11 present /usr/bin/DeepinAIAssistant
Wed 2020-12-30 14:55:24 CST 5233 1000 1000 11 present /usr/bin/DeepinAIAssistant
Wed 2020-12-30 17:23:45 CST 10464 1000 1000 11 present /usr/bin/dde-file-manager
Wed 2020-12-30 18:57:28 CST 4723 1000 1000 11 present /usr/bin/DeepinAIAssistant
Fri 2021-01-01 01:03:01 CST 11866 1000 1000 11 present /opt/apps/cn.wps.wps-office/files/kingsoft/wps-o
Fri 2021-01-01 12:32:44 CST 1073 1000 1000 11 present /home/lee/code/src/gdb/main
Fri 2021-01-01 13:23:52 CST 17885 1000 1000 11 present /home/lee/code/src/coredump/main
Fri 2021-01-01 13:24:08 CST 18137 1000 1000 11 present /home/lee/code/src/coredump/main
Fri 2021-01-01 13:34:21 CST 27893 1000 1000 11 present /home/lee/code/src/coredump/main
lee@lee-PC:~/code/src/coredump$
coredumpctl gdb 'pidnum'
通过指定pid号,通过gdb查看相关信息
bt 可以打印堆栈信息
方法三:gdb里面指定CoreDump文件
注: 以上三种方法需要使用调试模式,否则无法知道Dump文件与代码的对应关系
参考链接:
https://jingyan.baidu.com/article/574c5219521b456c8d9dc1cc.html
https://www.cnblogs.com/zhuochong/p/10038073.html

3020

被折叠的 条评论
为什么被折叠?



