Debugging 如何解释内存映射转储输出?

Debugging 如何解释内存映射转储输出?,debugging,gcc,Debugging,Gcc,我的问题与错误本身无关(我知道它的原因是什么) 相反,我想知道如何读取这个转储(字段、标志等的含义)、它是在哪里生成的(glibc或gcc库),以及如何在更高的级别上从中推断出错误(例如,一些可能认为此输出有用的工具) proc的手册页有答案。内存映射输出格式在/proc/[pid]/maps的条目中给出 简短的摘要跨越它所在的列:内存范围、权限、偏移量、设备(主:次)、索引节点和路径名。它是通过检查给定进程的/proc文件系统(/proc/map?)生成的。您也可以从命令行执行此操作。(我认为

我的问题与错误本身无关(我知道它的原因是什么)

相反,我想知道如何读取这个转储(字段、标志等的含义)、它是在哪里生成的(glibc或gcc库),以及如何在更高的级别上从中推断出错误(例如,一些可能认为此输出有用的工具)


proc的手册页有答案。内存映射输出格式在/proc/[pid]/maps的条目中给出


简短的摘要跨越它所在的列:内存范围、权限、偏移量、设备(主:次)、索引节点和路径名。

它是通过检查给定进程的/proc文件系统(/proc/map?)生成的。您也可以从命令行执行此操作。(我认为它是
cat/proc{pid}/smap
*** glibc detected *** python: double free or corruption (fasttop): 0x0000000006c4eb90 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7eb96)[0x7f6c3a0a1b96]
/usr/lib/nvidia-current-updates/tls/libnvidia-tls.so.304.88(+0x1cc1)[0x7f6c2e544cc1]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:07 2238049                          /build/bin/python
00600000-00601000 r--p 00000000 08:07 2238049                          /build/bin/python
00601000-00602000 rw-p 00001000 08:07 2238049                          /build/bin/python
00954000-07625000 rw-p 00000000 00:00 0                                  [heap]
40c14000-40c92000 rw-p 00000000 00:00 0 
7f6c04000000-7f6c041bc000 rw-p 00000000 00:00 0 
7f6c041bc000-7f6c08000000 ---p 00000000 00:00 0 
7f6c08000000-7f6c081bc000 rw-p 00000000 00:00 0 
7f6c081bc000-7f6c0c000000 ---p 00000000 00:00 0 
7f6c0c000000-7f6c0c1bc000 rw-p 00000000 00:00 0 
7f6c0c1bc000-7f6c10000000 ---p 00000000 00:00 0 
7f6c14000000-7f6c14021000 rw-p 00000000 00:00 0 
7f6c14021000-7f6c18000000 ---p 00000000 00:00 0 
7f6c1ab5a000-7f6c1ab5b000 ---p 00000000 00:00 0 
7f6c1ab5b000-7f6c1af5b000 rwxp 00000000 00:00 0 
7f6c1af5b000-7f6c1af5c000 ---p 00000000 00:00 0 
7f6c1af5c000-7f6c1b35c000 rwxp 00000000 00:00 0 
7f6c1b35c000-7f6c1b35d000 ---p 00000000 00:00 0 
7f6c1b35d000-7f6c1b75d000 rwxp 00000000 00:00 0 
7f6c1b75d000-7f6c1b767000 r-xp 00000000 08:05 1314563                    /lib/x86_64-linux-gnu/libnss_nis-2.15.so
7f6c1b767000-7f6c1b967000 ---p 0000a000 08:05 1314563                    /lib/x86_64-linux-gnu/libnss_nis-2.15.so
7f6c1b967000-7f6c1b968000 r--p 0000a000 08:05 1314563                    /lib/x86_64-linux-gnu/libnss_nis-2.15.so
7f6c1b968000-7f6c1b969000 rw-p 0000b000 08:05 1314563                    /lib/x86_64-linux-gnu/libnss_nis-2.15.so
7f6c1b969000-7f6c1b980000 r-xp 00000000 08:05 1314576                    /lib/x86_64-linux-gnu/libnsl-2.15.so