首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从systemd-coredump / coredumpctl / systemd-journal获取内存映射信息

如何从systemd-coredump / coredumpctl / systemd-journal获取内存映射信息
EN

Stack Overflow用户
提问于 2019-04-16 01:20:53
回答 1查看 161关注 0票数 0

当我使用ABRT报告崩溃时,它附加了一个maps文件,该文件显示了从/proc/self/maps保存的内存映射及其权限。

我有一个gnome-shell的崩溃,它神秘地没有出现在ABRT中,尽管它出现在coredumpctl中。(这将在systemd日志中搜索记录,由systemd-coredump编写)。

我看不到在coredumpctl中显示映射信息的任何选项。我试过coredumpctl gdb了。令人惊讶的是,info proc mappings似乎起作用了:-)然而,这个gdb命令似乎不像/proc/self/maps那样告诉我每个映射的权限。

有没有可能得到这个信息?我更想确认gnome-shell访问以触发崩溃的特定映射的权限。

代码语言:javascript
复制
$ 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)
...
EN

回答 1

Stack Overflow用户

发布于 2019-04-16 01:20:53

代码语言:javascript
复制
journalctl -b -u systemd-coredump@* -o verbose

上面的命令显示了当前引导过程中崩溃日志记录的所有文本字段。

在字段COREDUMP_PROC_MAPS中记录/proc/[pid]/maps的副本。

然而,它似乎以某种方式被截断了。(gnome-shell有很多映射)。向journalctl添加--full选项无济于事。

代码语言:javascript
复制
    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.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55694356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档