【问题标题】:How do I have my program's core dump saved to a file upon a crash?如何在崩溃时将程序的核心转储保存到文件中?
【发布时间】:2009-10-16 06:11:55
【问题描述】:

我正在使用 Bash。我使用了ulimit -c unlimited,但程序仍然没有生成核心文件。这可能是由于 GUI 调试器启动。我可以选择将崩溃信息保存到文件中,但我真的想要一个核心文件。

编辑:我刚刚写了一个非 gui 的小程序,旨在崩溃,它产生了一个核心转储。

【问题讨论】:

  • 你能阻止 GUI 调试器启动吗?
  • 您是否直接从命令行运行它而没有涉及 GUI,这会给您一个核心文件吗?
  • 这是 Fedora 自带的。我不知道我是否可以禁用它。我真的不想在全球范围内禁用它。它仅在 GUI 程序崩溃时启动。
  • @Vinko:是的,我正在编程并在 bash shell 中启动它。
  • @Scott:但这会给你一个核心文件吗?

标签: linux coredump


【解决方案1】:

最简单的方法是在 gdb 中从命令行运行您的应用:

gdb --args /path/to/program with args

我假设给您带来问题的程序是 Bug Buddy?在 GTK 启动后,您始终可以删除它或调整您的程序以将默认 SIGSEGV 句柄重置为 SIG_DFL,以确保操作系统捕获信号,而不是 GUI 库进行任何魔术处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    相关资源
    最近更新 更多