Next: Source Buffers, Up: GDB Graphical Interface [Contents][Index]
変数gdb-many-windows
がnil
(デフォルト)の場合、M-x gdbは通常GUD
interactionバッファーだけを表示します。しかしgdb-show-main
が非nil
の場合、2つのウィンドウで開始します。その場合、1つはGUD
interactionバッファーを表示して、もう一方はデバッグするプログラムのmain
関数のソースを表示します。
gdb-many-windows
が非nil
の場合、M-x gdbは以下のフレームレイアウトを表示します。
+--------------------------------+--------------------------------+ | GUD interaction buffer | Locals/Registers buffer | |--------------------------------+--------------------------------+ | Primary Source buffer | I/O buffer for debugged pgm | |--------------------------------+--------------------------------+ | Stack buffer | Breakpoints/Threads buffer | +--------------------------------+--------------------------------+
ウィンドウのレイアウトを変更した場合、M-x gdb-restore-windowsとタイプして、複数ウィンドウのレイアウトをリストアできます。複数ウィンドウレイアウトと、GUD interactionバッファーとソースファイルだけの単純なレイアウトを切り替えるには、M-x gdb-many-windowsとタイプしてください。
ウィンドウを複雑にセットアップをしていて、gdb-many-windows
がそれを混乱させるのを望まない場合は、別のフレーム内でM-x
gdbを呼び出すほうがよいでしょう。その場合は、元のフレームのウィンドウのアレンジに影響はありません。テキスト端末で作業する場合は、GDBセッションに別のフレームを使用すれば、各ウィンドウにたいするスクリーン資源が最活用される可能性があるので、特に便利になり得ます。
同じフレームまたは異なるフレームに、GDBに関連した追加のバッファーを表示するように指定できます。M-x gdb-display-buffertype-bufferまたはM-x gdb-frame-buffertype-bufferとタイプして、望むバッファーを選択します。ここでbuffertypeは‘breakpoints’のような、該当するバッファータイプです。‘GUD’メニューの、サブメニュー‘GDB-Windows’または‘GDB-Frames’により、メニューバーから同じことができます。
デバッグを終えたらC-x kでGUD interactionバッファーをkillすれば、このセッションでの関連するすべてのバッファーをkillできます。しかしEmacsでソースコードの編集とリコンパイル終えて、さらにデバッグを続けたいときは、これを行う必要はありません。実行を再開すると、GDBは自動的に新しい実行ファイルを見つけます。GUD interactionバッファーを残しておけば、シェルヒストリー、同様にGDBブレークポイントを残すことができる利点があります。最近編集したソースファイルのブレークポイントが、正しい場所にあるかチェックする必要があります。