2015-05-27 22 views
1

的gdb的別名所以我是很新,GDB,和剛纔得知你可以節省用的斷點:快速保存/載入斷點

save breakpoints filename 

,並加載它們

source filename 

這很好,但是因爲每次我輸入/退出gdb時,我都會做或多或少的計劃,所以我想把它歸結爲一個快速別名。

所以,在我的〜/ .gdbinit我行

alias savebps = save breakpoints .gdb_bps 
alias loadbps = source .gdb_bps 
loadbps 

不幸的是,每次我打開gdb的時候,我得到的錯誤:

Invalid command to alias to: save breakpoints .gdb_bps 

我知道(/極力想)我有正確的語法,因爲我測試過

alias savebps = help 

和別名的作品。所以我認爲將非gdb命令字(文件名)作爲別名的一部分是個問題。

所以,我的問題是這樣的:

  • 我是不是完全愚蠢的,並且已經有一個偉大的方式來自動保存和維護我的斷點列表?
  • GDB可以在別名中有文件名嗎?或者我在尋找別名以外的東西?
  • 如果他們可以在他們的文件名,我做錯了什麼?

哦,作爲一個說明'.gdb_bps'是一個任意的文件名,我只是想出了,因爲它會是一個很好的不顯眼的東西,輕鬆.gitignore和東西。

謝謝!

回答

3

Can GDB have filenames in aliases?

看起來沒有。它看起來像別名不能有任何命令的參數,不僅文件名。這個別名也失敗:

(gdb) alias spe = set print elements 0 
Invalid command to alias to: set print elements 0 

Or am I looking for something other than an 'alias'?

是的,你可以使用user-defined command代替:

(gdb) define savebps 
Type commands for definition of "savebps". 
End with a line saying just "end". 
>save breakpoints .gdb_bps 
>end 
(gdb) 
(gdb) define loadbps 
Type commands for definition of "loadbps". 
End with a line saying just "end". 
>source .gdb_bps 
>end 
(gdb) 
+1

精彩!謝謝! 對於那些想知道的,你可以把定義放在.gdbinit行中,而不用像你所期望的那樣提示。 – Phildo