当我使用ABRT报告崩溃时,它会附加一个文件maps
,其中显示了从/proc/self/maps
保存的内存映射及其权限。
我遇到了gnome-shell
崩溃事件,尽管它在coredumpctl
中出现了,但是却未能在ABRT中出现。 (这将在systemd日志中搜索由systemd-coredump编写的记录)。
我看不到任何在coredumpctl
中显示映射信息的选项。我尝试了coredumpctl gdb
。令人惊讶的是,info proc mappings
似乎可以工作:-)但是,这个gdb命令似乎并没有像/proc/self/maps
那样告诉我每个映射的权限。
是否可以获取此信息?我宁愿要确认gnome-shell访问以触发崩溃的特定映射的权限。
$ head /proc/self/maps
55fd5c982000-55fd5c984000 r--p 00000000 fd:00 1704424 /usr/bin/head
55fd5c984000-55fd5c98a000 r-xp 00002000 fd:00 1704424 /usr/bin/head
55fd5c98a000-55fd5c98d000 r--p 00008000 fd:00 1704424 /usr/bin/head
55fd5c98d000-55fd5c98e000 r--p 0000a000 fd:00 1704424 /usr/bin/head
55fd5c98e000-55fd5c98f000 rw-p 0000b000 fd:00 1704424 /usr/bin/head
55fd5da11000-55fd5da32000 rw-p 00000000 00:00 0 [heap]
7f4d1a181000-7f4d27129000 r--p 00000000 fd:00 1705474 /usr/lib/locale/locale-archive
7f4d27129000-7f4d2714b000 r--p 00000000 fd:00 1711052 /usr/lib64/libc-2.28.so
7f4d2714b000-7f4d27298000 r-xp 00022000 fd:00 1711052 /usr/lib64/libc-2.28.so
7f4d27298000-7f4d272e4000 r--p 0016f000 fd:00 1711052 /usr/lib64/libc-2.28.so
$ coredumpctl gdb gnome-shell
...
(gdb) info proc mappings
Mapped address spaces:
Start Addr End Addr Size Offset objfile
0x55cbdcc70000 0x55cbdcc72000 0x2000 0x0 /usr/bin/gnome-shell
0x55cbdcc72000 0x55cbdcc74000 0x2000 0x2000 /usr/bin/gnome-shell
0x55cbdcc74000 0x55cbdcc75000 0x1000 0x4000 /usr/bin/gnome-shell
0x55cbdcc75000 0x55cbdcc76000 0x1000 0x4000 /usr/bin/gnome-shell
0x55cbdcc76000 0x55cbdcc77000 0x1000 0x5000 /usr/bin/gnome-shell
0x7f9b3f600000 0x7f9b3fb00000 0x500000 0x0 /i915 (deleted)
0x7f9b3fb00000 0x7f9b40000000 0x500000 0x0 /i915 (deleted)
...
答案 0 :(得分:0)
journalctl -b -u systemd-coredump@* -o verbose
以上命令显示了当前引导期间崩溃的日志记录的所有文本字段。
/proc/[pid]/maps
的副本记录在COREDUMP_PROC_MAPS
字段中。
但是,它似乎被某种方式截断了。 (gnome-shell具有 lot 个映射)。将--full
选项添加到journalctl
并没有帮助。
COREDUMP_PROC_MAPS=dff14ca4000-dff14cb4000 ---p 00000000 00:00 0
dff14cb4000-dff14cc4000 r-xp 00000000 00:00 0
dff14cc4000-dff14d04000 ---p 00000000 00:00 0
[... my omission ...]
7f9bcaa01000-7f9bcaa02000 rw-s 00000000 00:2b 5074731 /i915 (deleted)
7f9bcaa02000-7f9bcaa03000 rw-s 00000000 00:2b 5074730 /i915 (deleted)
7f9bcaa03000-7f9bcaa04000 rw-s 00000000 00:35 5522157 /run/user/1000/xwayland-shared-zooWRD (deleted)
7f9bcaa04000-7f9bcaa05000 rw-s 00000000 00:35 5522156 /run/user/1000/xwayland-shared-CBgtV0 (deleted)
7f9bcaa05000-7f9bcaa06000 rw-s 000000...
^ this ellipsis is in the original output.