簡體   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