繁体   English   中英

来自GDB的BASH阅读提示

[英]BASH Reading prompt from GDB

我的意图如下。 我正在调试从.c脚本使用gcc编译的目标文件。 让我们将此编译脚本称为“ foo”。 在Mac上从终端运行命令时:

gdb -q ./foo

我得到的输出:

Reading symbols from ./foo...Reading symbols from /Users/john/Documents....done.
done.

并立即从shell收到如下提示:

(gdb) "Shell waiting for my input command here from keyboard"

在这一点上,我想自动化某些命令的输入,例如:break,list,x / x“ .c文件中的符号”,x / s“ .c文件中的符号”等等。 对于这种自动化,我想使用一些bash脚本,到目前为止,我具有以下内容:

#!/bin/bash

SCRIPT=$1
gstdbuf -oL gdb -q $SCRIPT |
        while read -r LINE
        do
            echo "$LINE"
        done

在执行此bash脚本时,我在终端的shell上看到以下输出:

Reading symbols from ./foo...Reading symbols from /Users/john/Documents....done.
done.

但我看不到:

(gdb) "Shell waiting for my input command here from keyboard"

我如何从我的Shell脚本中的gdb进程中检测到此提示,以便能够自动化所需的命令,而不是手动输入命令?

非常感谢!

您可以创建文件.gdbinit并将初始命令放在此处。 如果将以下行添加到$HOME/.gdbinit gdb将在启动时执行它们:

add-auto-load-safe-path /path/to/project/.gdbinit

现在,您可以将命令放入/path/to/project/.gdbinit ,如下所示:

break main
run --foo=bar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM