2017-12-18 33 views
0

gdbでサードパーティのマクロを使用していますが、実行時間はです。Enterを押したときにgdbが最後の(サードパーティの)コマンドを繰り返すのを止める

私の筋肉記憶がそれをするので、私はEnterキーを押し続けます。

これにより、マクロが再び実行されます。

私が説得できる方法はありますか?gdbではEnterを押しても前のコマンドを実行できませんか?

私はdont-repeatドキュメントを見つけましたが、ユーザー定義コマンドに追加する必要があるようです。これらはサードパーティのコマンドであり、特にそれらのすべてを編集する必要はありません。

この動作をグローバルにオフにする方法はありますか?または特定のコマンド(おそらくワイルドカード/正規表現を含む)のために?

+0

gdbを変更しなければ不可能だと思います。 https://stackoverflow.com/q/25024593/72178を参照してください。 – ks1322

答えて

0

これらはサードパーティのコマンドであり、特にそれらのすべてを に編集する必要はありません。

特定のコマンドについては、最後のコマンドの繰り返しをオフにするプリフックを定義できます。これにより、編集を避けることができます。たとえば、あなたはcontinueコマンドのため、このような事前のフックを定義することができます。

(gdb) c 
The program is not being run. 
(gdb) 
The program is not being run. 
(gdb) 
The program is not being run. 
(gdb) 
The program is not being run. 
(gdb) 
The program is not being run. 
(gdb) define hook-continue 
Type commands for definition of "hook-continue". 
End with a line saying just "end". 
>dont-repeat 
>end 
(gdb) c 
The program is not being run. 
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) 

hooks docを参照してください。

関連する問題