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

用strace运行程序生成core文件,GDB调试显示为strace,如何调试目标程序?

可以调试你的应用程序,具体操作步骤如下:

当通过strace /my/app启动程序时,崩溃生成的core文件包含了strace(父进程)与你的应用(子进程)的完整进程上下文,gdb默认会加载父进程的调试环境,因此需要手动切换到子进程并加载应用的符号表:

  1. 启动gdb,加载strace可执行文件和core文件:

    gdb $(which strace) core
    

    使用which strace能自动获取strace的绝对路径,避免手动输入错误。

  2. 在gdb中查看core文件包含的所有进程(gdb中称为inferior):

    info inferiors
    

    输出示例:

    Num  Description       Executable
      1    process 1234      /usr/bin/strace
      2    process 1235      /my/app
    

    其中编号对应的就是你的应用进程。

  3. 切换到你的应用进程:

    inferior <进程编号>
    

    比如对应上面的示例,执行inferior 2。

  4. 加载你的应用程序的符号表:

    file /my/app
    
  5. 完成以上步骤后,即可进行常规调试操作,例如查看崩溃堆栈:

    bt
    

    或切换栈帧、检查变量等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 23:47:06