You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GDB中生成核心转储文件?配置与手动操作咨询

GDB核心转储相关问题解答

1. 能否配置.gdbinit自动生成核心转储文件?

可以。你可以在.gdbinit文件中添加GDB命令,实现程序崩溃时自动生成核心转储:

  • 方法一:开启全局自动保存
    在.gdbinit中加入:
    set auto-save-on-stop on
    
    程序因任何原因停止(包括崩溃)时,GDB会自动生成核心转储文件。
  • 方法二:针对崩溃信号精准触发
    如果你只想在程序因特定崩溃信号(比如段错误SIGSEGV)触发时生成转储,可以在.gdbinit中添加:
    # 处理段错误信号:停止程序、打印信息、传递信号
    handle SIGSEGV stop print pass
    # 绑定信号触发时的执行命令
    command SIGSEGV
    # 生成带时间戳的核心转储文件,避免覆盖
    gcore auto_core_$(date +%Y%m%d_%H%M%S)
    end
    
    可根据需求替换SIGSEGV为其他崩溃信号(如SIGABRT)。

2. 程序崩溃后,GDB会话中手动生成核心转储的命令是什么?

直接使用gcore命令即可,语法为:

gcore [文件名]
  • 不指定文件名时,默认生成名为core的转储文件;
  • 指定文件名可避免覆盖,例如:
    gcore my_crash_dump.core
    
    执行后GDB会立即生成当前程序状态的核心转储文件。

内容的提问来源于stack exchange,提问作者intrigued_66

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 20:54:49