在 Linux 中使用 C 映射文件调试崩溃



我 http://www.codeproject.com/Articles/3472/Finding-crash-information-using-the-MAP-file 在这里看到了一个文档。这个例子是关于在Windows文件中看到的崩溃吗?我正在寻找与这里为 Linux 系统上生成的崩溃所做的相同数学。如果我在 Linux 上崩溃,那么我将如何在类似的行中调试问题,例如Microsoft文档 http://www.codeproject.com/Articles/3472/Finding-crash-information-using-the-MAP-file。请帮忙?加载地址和代码段地址在 Linux 中是否相同?在 Linux 中,如链接"二进制文件的第一部分是可移植可执行文件 (PE),长度为 0x1000 字节"中所述,以下内容是什么?

PE是Windows格式。Linux 使用 ELF。当然,您可以手动解析ELF,但您不应该 - gdb可以为您执行此操作。更重要的是,您可以使用addr2line实用程序将地址映射到源代码中的文件/行(当然,这两者都需要调试构建)。

映射文件在 Linux 中很少使用 - 它通常只是调试可执行文件的一部分。但是,它可以从调试版本中转储,但它没有太多的实际价值。

另外,看看如何在linux中使用addr2line命令

最新更新