Next: , Up: GDB Graphical Interface   [Contents][Index]


27.6.5.1 GDBのユーザーインターフェースのレイアウト

変数gdb-many-windowsnil(デフォルト)の場合、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ブレークポイントを残すことができる利点があります。最近編集したソースファイルのブレークポイントが、正しい場所にあるかチェックする必要があります。