2012-10-22 79 views
0

我想編寫一個shell腳本來幫助我啓動gdb並輸入一些我不想自己輸入的命令,該怎麼做?gdb的heredoc腳本問題

我試過下面的heredoc,但它不起作用,我做錯了什麼?

#! /bin/sh - 
gdb ./myexe << MYHEREDOC 
b xxx.c:1234 
commands 1 
printf "xxxxxxxx" 
continue 
end 
MYHEREDOC 

預先感謝你的好心幫〜

+0

當你說「這是行不通的」,你是不是告訴我們任何能夠幫助我們解決問題的事情。它不工作?當你運行這個腳本時會發生什麼? –

+0

對不起,我沒有說清楚,當我說「它不工作」,我的意思是它不會留在gdb進程中,而是跳出到命令行。我希望這個腳本在gdb軟件啓動時幫助我輸入一些命令。 – user1726366

+0

啊。然後你想使用一個腳本文件,就像@gvalkov說的那樣。這裏的文件完全取代了文件內容的程序輸入;當文檔結束時,就好像您按下control-D將EOF發送到進程一樣,所以它也結束了。 –

回答

1

它真的應該工作(見docs)。

commands.gdb:或許,如果你使用的命令文件,你可以不必使用定界符脫身

file ./myexe 
b xxx.c:1234 
commands 1 
printf "xxxxxxxx" 
continue 
end 
run 

$ gdb -x commands.gdb 
+0

大提示,謝謝,這可以節省我很多時間,非常感謝你的幫助〜 – user1726366