首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bash编写Gdb脚本

使用bash编写Gdb脚本
EN

Stack Overflow用户
提问于 2014-01-05 21:49:33
回答 1查看 781关注 0票数 2

我正在尝试编写一个脚本来分析核心转储。到目前为止,我已经想出了这个剧本。

代码语言:javascript
复制
#!/bin/bash

#
# A script to extract core-file informations
#

#Binary image
binimg=$1

# Today and yesterdays cores
core=$2

gdblogfile="$core-gdb.log"
rm -f $gdblogfile

gdb -batch \
    -ex "set logging file $gdblogfile" \
    -ex "set logging on" \
    -ex "set pagination off" \
    -ex "file $binimg" \
    -ex "core-file $core" \
    -ex "bt" \
    -ex "quit"

当我尝试执行它时,我会得到以下错误:文件“退出”不存在或者不是一个常规文件。

你能告诉我我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-05 22:21:55

您的gdb版本可能有问题(您使用的是哪个版本)?我可以在gdb 6.3中复制您的错误,但不能用7.6。无论如何,似乎gdb,即使您已经在批处理模式下启动它,仍然认为最后一个参数"quit"是图像的文件名(它试图加载它,并抱怨找不到它)。因此,要满足gdb的要求,只需像通常那样传入图像和核心文件(并移除"ex file""ex core-file"参数)。看看这样的东西对你有用吗:

代码语言:javascript
复制
gdb -batch \
    -ex "set logging file $gdblogfile" \
    -ex "set logging on" \
    -ex "set pagination off" \
    -ex bt \
    -ex quit \
    "$binimg" \
    "$core"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20939627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档