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

如何在Mac OS X 10.14 Mojave中加载core dump文件?

解决Mac OS X 10.14 Mojave下GDB无法识别core文件的问题

问题背景

在Mac OS X 10.14 Mojave环境中,使用GDB加载core文件时触发错误:

"/cores/core.14192": no core file handler recognizes format

解决方案

1. 验证core文件有效性

先确认core文件是目标程序生成的有效文件:

file /cores/core.14192

输出需包含与broken_linked_list相关的程序信息,若显示文件损坏或不匹配,需重新运行程序触发段错误生成有效core文件。

2. 配置GDB适配MacOS core格式

若坚持使用GDB,尝试以下操作:

  • 确保安装适配MacOS的GDB版本(推荐通过Homebrew安装最新版:brew install gdb)
  • 启动GDB后先设置core文件处理格式,再加载core:
    gdb broken_linked_list
    set target macosx-core
    core-file /cores/core.14192
    
  • 若仍报错,需为GDB配置代码签名(MacOS对调试器有签名限制):
    1. 打开「钥匙串访问」创建代码签名证书
    2. 对GDB二进制文件签名:codesign -fs "你的证书名称" /usr/local/bin/gdb
    3. 重启终端或更新sudo配置后生效

3. 改用LLDB(推荐方案)

Apple官方的LLDB调试器对MacOS core文件支持更完善,无需额外配置:

lldb broken_linked_list -c /cores/core.14192

进入LLDB后常用调试命令:

  • bt:查看调用栈回溯
  • frame select <序号>:切换到指定栈帧
  • print <变量名>:打印变量值

4. 确认系统core dump配置正确

确保系统允许生成core文件:

  • 设置core文件大小无限制:
    ulimit -c unlimited
    
  • 配置core文件生成路径并开启core dump:
    sudo sysctl kern.corefile=/cores/core.%P
    sudo sysctl kern.coredump=1
    
    注:%P表示用进程ID命名core文件,需保证/cores目录有写入权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:12:52