为什么 mutt 会因分段错误而终止?

为什么 mutt 会因分段错误而终止?

我按了$,以便同步邮箱,但mutt只是退出...事实上,mutt并不是每次我按 $ 时都会退出,只是偶尔退出。那么我如何找出 t 退出的原因呢mut?这是 mutt 的一个错误吗?

错误信息是:

Sorting mailbox...  Segmentation fault

如果我想知道发生了什么,我可以使用stracewith 吗mutt?或者是否有更好的工具可以了解更多有关问题的信息?

现在我回复了一封邮件,然后我按了$,然后出现了分段错误。

答案1

strace 可能会告诉你一些信息,但实际上它并不是完成这项工作的最佳工具。完成这项工作的正确工具是 gdb 和核心转储。

您可以直接在 gdb 下运行 mutt(在 gdb 提示符下输入“gdb mutt”然后输入“r”),也可以在 shell 中启用核心转储并正常运行 mutt,当它崩溃时,它会生成一个核心转储文件,然后可以使用 gdb 进行分析。不过,您需要确保已安装 mutt 的调试符号。

关于使用 gdb 以及分析核心转储和回溯的更多信息可以在网上的各个地方找到,但是由于太复杂,这里无法很好地解释。

相关内容