从 shell 脚本中运行 gdb 命令
Posted
技术标签:
【中文标题】从 shell 脚本中运行 gdb 命令【英文标题】:Run gdb command from within shell script 【发布时间】:2018-02-09 07:46:19 【问题描述】:我正在制作一个简单的核心转储分析器。我有一个核心文件和符号。现在我想创建一个实用程序,以便可以上传这两个文件,并显示堆栈跟踪(bt)。 我执行一个shell脚本:
gzip -d coredump.gz
tar xvf symbols.tar.gz
gdb program
#Now at this point I want to send gdb commands one at a time. Like:
core-file corefile
echo bt
我想将“bt”的输出保存到文件中。我该怎么做?
【问题讨论】:
发送命令看这个帖子:***.com/questions/17863025/…后面的问题可以log the gdb output。 【参考方案1】:你想要:
rm -f gdb.txt
gdb -ex 'set logging on' -ex 'where' program corefile
# GDB output is now in gdb.txt
【讨论】:
谢谢,如果我将它添加到 shell 脚本中就可以了。但是如果我从 php shell_exec 调用它,它就不起作用。我问了另一个单独的问题:***.com/questions/48715364/…。感谢您的帮助! 我使用上面的方法调用了disassemble fn
。但似乎当二进制文件中有多个同名函数时,只有一个被反汇编。是否可以全部反汇编,或者我应该根据原始地址进行反汇编?以上是关于从 shell 脚本中运行 gdb 命令的主要内容,如果未能解决你的问题,请参考以下文章