その他

デバッガのあまり使われないその他の機能がいくつかありますが、以外と便利な機能なのでご紹介します。

カーネル・シグナル

カーネル・シグナルはプロセスと Linux の間でやりとりをする一つの手段です。プログラムで利用可能なシグナルの一覧は、メニュー・アイテム 表示(_V)->カーネルシグナル(_K) を選択すると表示することができます。システムで利用可能な全てのシグナルについて、短い説明とともに一覧表示するウィンドウが開きます。

Figure 11. カーネル・シグナル・ウィンドウ

シグナルを受け取った時に何を行うかを指示する三つの情報があります:

  1. 停止 - これはプログラムがシグナルを受け取った時に実行を停止する (かつ制御を戻す) かどうかを、デバッガに指示するものです。

  2. 表示 - これは受け取ったシグナルを表示するかどうかを、デバッガに指示するものです。

  3. パス - これはプログラムが受け取ったシグナルを無視するかどうかを、デバッガに指示するものです。

シグナル受信時の動作を変更する

特定のシグナルを受信した時にそれに対応するデバッガの動作 (前述の三つの指示) を変更する場合は、一覧からシグナルを選択して右クリックして オペレーション・メニュー を開きます。そしてメニュー・アイテム シグナルの変更 を選択して下さい。するとダイアログが開きます。三つの指示を設定し変更を適用する場合は OK ボタンをクリックして下さい。

Figure 12. カーネル・シグナル変更ダイアログ

プログラムにシグナルを送信する

明示的にデバッグ中のプログラムにシグナルを送信する場合は、一覧からシグナルを選択して右クリックして オペレーション・メニュー を開きます。そしてメニュー・アイテム シグナル送信 を選択して下さい。すると確認ダイアログが開きます。プログラムに送信するシグナルを確認して OK ボタンをクリックして下さい。

シグナル一覧の更新

(カーネル・シグナル・ウィンドウ の上で右クリックして表示される) オペレーション・メニュー からメニュー・アイテム 更新 を選択して、カーネル・シグナル・ウィンドウ をリフレッシュして下さい。

CPU レジスタ情報

CPU (マイクロプロセッサ) の内部レジスタの内容を調査することが可能です。メニュー・アイテム 表示(_V)->レジスタ(_R) を選択して下さい。マイクロプロセッサ内の利用可能な全てのレジスタとそれに対する内容が表示されたウィンドウが開きます。

Figure 13. CPU レジスタ・ウィンドウ

直接ライブラリを読み込む

プログラムで使用している動的ライブラリの一覧を取得する場合は、メニュー・アイテム 表示(_V)->共有ライブラリ群(_L) を選択して下さい。すると、プログラムがメモリに読み込んだ全ての共有ライブラリの一覧を表示したウィンドウが開かれます。またシンボル・テーブルも一緒に読み込んでいるかどうか (Yes/No) も表示されます。

Figure 14. 共有ライブラリ・ウィンドウ

プログラムへの割り込み

プログラムが動作中でかつ制御を保持している間、デバッグ作業を行うことはできません。プログラムが動作中に制御を取得する場合は、メニュー・アイテム デバッグ->プログラムの割り込み(_I) を選択して下さい。プログラムに割り込んで制御をデバッガに戻します。

適切に割り込みが行われるために、割り込みシグナル (SIGINT) に対応するデバッガの動作を [ 停止:Yes, 表示:Yes, パス:No ] に設定して下さい。これはデフォルトです。