如何解析linux下使用systemd-coredump生成的core信息
systemd生成core;coredumpctl导出core文件
目录
1.2 coredumpctl list --since=DATE
1.3 coredumpctl list --until=DATE
在linux下如果使用systemd-coredump生成了core信息,在当前用户下是无法正常解析出来的,需要使用root用户来做相关的解析
一、获取当前主机上已经崩溃的信息
1.1 coredumpctl list
查看转储文件,EXE是发生coredump的可执行文件,PID是coredump的进程号
[root@localhost ~]# coredumpctl list
TIME PID UID GID SIG COREFILE EXE
Wed 2022-06-22 16:49:19 CST 12613 0 0 5 missing /usr/libexec/pulse/gsettings-helper
Wed 2022-06-22 17:47:51 CST 13101 0 0 11 missing /usr/local/lib64/mate-indicators/libexec/mate-indicators
Wed 2022-06-22 17:50:30 CST 22707 0 0 11 missing /usr/local/lib64/mate-indicators/libexec/mate-indicators
Wed 2022-06-22 17:50:59 CST 22845 0 0 11 missing /usr/local/lib64/mate-indicators/libexec/mate-indicators
Wed 2022-06-22 18:04:34 CST 9083 0 0 5 missing /usr/libexec/pulse/gsettings-helper
Thu 2022-06-23 15:17:20 CST 3215 0 0 5 missing /usr/libexec/pulse/gsettings-helper
Thu 2022-06-23 15:21:06 CST 3253 0 0 5 missing /usr/libexec/pulse/gsettings-helper
Thu 2022-07-14 15:41:28 CST 3287 0 0 5 missing /usr/libexec/pulse/gsettings-helper
Fri 2022-08-12 09:40:13 CST 3361 0 0 5 missing /usr/libexec/pulse/gsettings-helper
Thu 2022-08-25 16:01:19 CST 134011 1000 1000 11 missing /home/gaps41/Sources/libsrc/dci/dm/dcitest
Thu 2022-08-25 16:01:28 CST 134035 1000 1000 11 missing /home/gaps41/Sources/libsrc/dci/dm/dcitest
Thu 2022-08-25 20:31:55 CST 140811 1000 1000 11 missing /home/gaps41/Sources/libsrc/dci/dm/dcitest
Fri 2022-09-02 10:48:22 CST 764105 1000 1000 11 missing /home/gaps41/64bit/bin/MPP_SDS
Fri 2022-09-02 10:48:22 CST 764147 1000 1000 11 missing /home/gaps41/64bit/bin/MPP_SDS_DEBUG
Fri 2022-09-02 10:48:22 CST 764292 1000 1000 11 missing /home/gaps41/64bit/bin/MPP_lsSDS
Fri 2022-09-02 10:48:22 CST 764253 1000 1000 11 missing /home/gaps41/64bit/bin/MPP_liSDS
Fri 2022-09-02 10:48:22 CST 764215 1000 1000 11 missing /home/gaps41/64bit/bin/MPP_XSDS
1.2 coredumpctl list --since=DATE
如果设备上转储文件太多,可以用–since选项过滤出 某天以后的coredump文件
1.3 coredumpctl list --until=DATE
如果设备上转储文件太多,可以用–since选项过滤出 直到某天的coredump文件
1.4 coredumpctl list -r
按时间逆序显示所有的core文件(最近产生的最先显示)
1.5 coredumpctl info
查看最近一次coredump的信息,后面加进程号的话,查看指定coredump的信息
1.6 coredumpctl dump
显示匹配到的第一条coredump信息,如果后面接进程号的话,查看指定coredump的信息
二、导出coredump文件
在root用户下执行命令:coredumpctl
-o corefile.1234 dump 2819462
其中:-o 之后为需要导出的文件 ,导出来的文件可以使用gdb来查看对应的堆栈信息
dump之后的数字2819462为coredumpctl
list 名称查询出来的pid值
三、赋权
将第二步导出来的core文件copy到原始程序启动的用户AAAAA下,执行命令给用户AAAAA赋权
chmown -R AAAAA corefile.1234
四、解析core文件
按照正常gdb解析core文件来处理
五、其他分析方法
5.1coredumpctl gdb pid
使用gdb分析coredump文件
5.2 coredumpctl debug
进入匹配到的第一条coredump的调试器,后面加进程号的话,进入指定coredump的调试器
5.3 捕捉回溯——导出崩溃调用栈
Set logging file mybacktrace.txt
Set logging on
Thread apply all bt full

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)