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

如何在gdb查看coredump时自动执行脚本命令并关闭分页提示

解决方法

1. 关闭GDB分页提示

临时生效(单次调试有效)

在GDB交互界面执行命令:
set pagination off
如果要启动时直接生效,也可以在启动命令中加参数:
gdb -c dump -ex "set pagination off"

永久生效(所有GDB调试默认关闭分页)

编辑用户目录下的.gdbinit文件(不存在就新建),添加一行内容:
set pagination off
保存后重启GDB,就会默认跳过分页提示,不会再出现按回车继续的交互提示。

2. 自动执行常用GDB命令

有两种成熟方案可以实现命令自动执行:

方案一:直接通过命令行参数传递命令

GDB支持用-ex参数指定启动后自动执行的命令,你可以直接把要执行的命令都拼在启动命令里:

gdb -c dump \
-ex "set pagination off" \
-ex "symbol-file libsmth.so" \
-ex "sharedlibrary" \
-ex "bt"

启动后会自动按顺序执行所有命令,输出完调用栈后停在GDB交互界面;如果要执行完命令直接退出GDB,还可以在最后加一个-ex "quit"参数。

方案二:编写GDB脚本复用命令

如果你的命令序列比较复杂,或者经常需要调整,可以把命令单独写进GDB脚本文件:

  1. 新建脚本文件比如analyze_coredump.gdb,写入以下内容:
set pagination off
symbol-file libsmth.so
sharedlibrary
bt
# 如果需要执行完自动退出可以放开下面这行
# quit
  1. 调试时用-x参数加载脚本执行:
    gdb -c dump -x analyze_coredump.gdb

如果想进一步简化操作,还可以把上面的逻辑包装成shell脚本,支持直接传入coredump文件路径:
新建coredump_analyze.sh,写入:

#!/bin/bash
if [ $# -ne 1 ];then
    echo "用法:$0 <coredump文件路径>"
    exit 1
fi
gdb -c "$1" -x /path/to/analyze_coredump.gdb

给脚本加执行权限chmod +x coredump_analyze.sh后,直接执行./coredump_analyze.sh ./dump即可完成自动分析。

内容的提问来源于stack exchange,提问作者y.selivonchyk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:27:05