首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查看CoreDump文件?

如何查看CoreDump文件?
EN

Ask Ubuntu用户
提问于 2011-09-30 19:10:35
回答 1查看 32K关注 0票数 13

当从崩溃中报告一个bug时,这个bug就变成了私有的,并且成为一个名为CoreDump.gz的文件。Bug分类文档说明如下:

如果崩溃仍然有一个CoreDump.gz附件,那么就不可能自动获得一个完全符号的堆栈跟踪并检查副本。

Stacktrace.txt在人类看来是可读的。如何理解堆栈跟踪的含义。使用CoreDump的CoreDump.gz似乎没有人类的可读性。什么是“完全符号堆栈跟踪”?“完全符号堆栈跟踪”之间的区别是什么?如何查看CoreDump文件的内容?(试过“猫”,但不干净)

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2011-09-30 19:27:59

Coredump.gz是崩溃程序可以访问的(压缩)内存。它是一个二进制文件。堆积如山是一个宝库,有各种各样的私人数据需要挖掘。

代码转储可以通过运行‘gdb’来查看:

代码语言:javascript
复制
gdb --core=mycoredump

当然,您仍然需要与此核心相关联的调试包。

然后,您可以通过以下方法生成堆栈跟踪:

代码语言:javascript
复制
(gdb) bt

若要生成当前线程的堆栈跟踪(没有参数解析),或

代码语言:javascript
复制
(gdb) thread apply all bt full

若要生成核心节点中所有线程的堆栈跟踪,请使用参数解析。

堆栈跟踪和完整堆栈跟踪显示程序中的控制流。对于Python,堆栈跟踪的顶部显示了最古老的调用,最近的调用位于底部;对于其他几乎所有的调用,顶部是最近的调用,底部是最老的调用。

完整的堆栈跟踪不仅会显示流,还会显示参数的值。这就是我们通常发现私有数据的地方--例如,假设您看到一个名为"validatePassword“的函数,其参数为"Password",值为”MySecretPassword“.

只有在安装了调试包时,堆栈跟踪才会有帮助(这样堆栈帧就可以解析成我们可以轻松读取的东西)。对堆栈跟踪的分析需要有用于构建此特定程序实例的源。

票数 15
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/63796

复制
相关文章

相似问题

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