gdbのTUI-modeで少し楽々コード解析

 ちょっとGDBで解析する必要がありましてGDBでstep実行とかソース表示をいちいち繰り返すのは面倒いです。
つまりgdbは使いづらいです。のでQtCreaterを使いましょう(終

TUI-mode on GDB

ってわけにもイカない*1ので、少し調べてみたらデフォルトのTUIが思ってたより普通に便利でしたので、簡単にまとめる。
で、素のGDBに比べて、どれくらい便利になっているかというと、ed(ワンラインエディタ)がvi(ヴィジュアルエディタ)に進化したくらい便利です。

C-x C-a(toggle TUI -> CUI -> TUI -> ...)

※C-x C-aの繰り返しで、TUI/CUIを切り替えます

 デフォルトで、以下のように「ソースコード表示とコマンド入力コマンド」のウィンドウに横分割されます。
で、next, step等のコマンドでソースコード表示が普通にスクロールしてくれます。
はい、stepのあとにlistコマンドでソースコード表示とかしなくて良い、さすがTUI-mode><


layout regs, layout src, layout asm

一画面に、レジスタソースコードアセンブラと表示します

C-x 2 (toggle src/asm -> regs/asm -> regs/src -> src/asm -> ...)

※C-x 2の繰り返しで、2画面でのソースとアセムレジスタとアセム、。。。と切り替えます

 ソースコードアセンブラアセンブラレジスタ等の組み合わせも表示できます。
まあ必要最低限ですけど、有ると無いのでは大違いでのすので大変ありがたいです。

※スペース余っているのでNEONレジスタ等も表示して欲しいけどね

TUI-modeマニュアル

もっと詳しい設定はマニュアルをどうぞ。

Debugging with GDB - GDB Text User Interface
Debugging with GDB: 25. GDBのテキストユーザインターフェイス (TUI)

P.S. 20151003

C-x C-aやC-x 2のトグル動作について追記。

C-x 2のソースコードレジスタアセンブラの3つの組み合わせの2画面表示組み合わせをどう選択すればよいのか悩んでいたが、コマンド繰り返すだけだった><、、、

*1:大体は行くのでqtcreator使いましょう><