如何非交互方式使用GDB打印core文件堆栈?

在查看core文件的堆栈时候,需要进入gdb,然后执行"bt"命令打印堆栈。但是这需要交互操作,不适合放在脚本中运行。如何不进入gdb的命令行界面,直接打出所有堆栈然后退出?

阅读 7.8k
评论 2012-12-20 提问
    3 个回答

    gdb -q --batch --ex "set height 0" -ex "thread apply all bt full" [可执行文件] [core文件]

    解释:
    -q: 不打印gdb的版权消息
    --batch: 执行批处理,不进入交互模式
    --ex: 执行gdb 命令

    "set height 0": 不对输出进行分页
    "thread apply all bt full": 打印所有线程堆栈

        • 4
        • 新人请关照
          撰写回答

          登录后参与交流、获取后续更新提醒