2012-07-06 33 views
15

我使用gdb來調試我的cpp代碼。 我設置斷點這樣:如何在gdb腳本中確認操作(回答「Y」)?

(gdb) break ParseDriver.cc:60 
No source file named ParseDriver.cc. 
Make breakpoint pending on future shared library load? (y or [n]) y 
Breakpoint 1 (ParseDriver.cc:60) pending. 

爲了簡化設置斷點,我寫了一個簡單的GDB腳本(名爲breakpoints.gdb),它僅僅只包含一個行:

break ParseDriver.cc:60 

我這個來源腳本在gdb終端,但它失敗了。

(gdb) source ~/breakpoints.gdb 
No source file named ParseDriver.cc. 
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal] 

看來我們需要在腳本中回答Y來設置斷點。

那麼,如何在GDB腳本中回答Y? 預先感謝您。

+0

[gdb:如何在帶有--command標誌的未來共享庫上設置斷點]的可能重複(http://stackoverflow.com/questions/100444/gdb-how-to-set-breakpoints-on-future共享庫與指揮旗) – TooTone 2015-07-16 11:06:44

回答

32
(gdb) set breakpoint pending on 

這將使GDB跳過要求確認,報價從the docs

這表明,一個未識別斷點位置應該 自動導致創建一個掛起的斷點。

1

你可以使用set confirm off/on來包裝你的命令,GDB不會要求確認。

+0

沒有爲我工作。 gdb無法創建斷點,但它並沒有要求確認。 – 2017-11-03 16:37:53