1.3.42 handle

1 つ以上のシグナルまたは例外に関するハンドラ設定を制御します。デフォルトのハンドラ設定は、デバッグアクティビティのタイプによって異なります。デフォルトでは、例えば Linux カーネルの接続の場合、すべてのシグナルがターゲット上の Linux によって処理されます。現在の設定を表示するには、info signals コマンドを使用します。

デバッガは、gdbserver を使用してリモートターゲット上で動作するアプリケーションに接続されている場合は Unix シグナルを処理しますが、ベアメタルではプロセッサ例外を処理します。

構文

handle [name]... keyword...
各項目には以下の意味があります。
name
シグナルまたはプロセッサ例外名を指定します。
keyword
以下のキーワードを指定します。
noprint
イベントの発生が通知されないように、print プロパティを無効にします。noprint キーワードを使用すると、nostop キーワードのプロパティも使用したことになります。
nostop
イベントが発生しても実行が停止しないように、stop プロパティを無効にします。
print
print プロパティを有効にします。イベントが発生すると、デバッガはメッセージを出力して実行を継続します。gdbserver を使用している場合、デバッガは stop が有効な場合のみ出力できます。
stop
停止と出力のプロパティを有効にします。イベントが発生すると、デバッガは実行を停止してメッセージを出力します。stop キーワードを使用すると、print キーワードのプロパティも指定したことになります。
name を指定しない場合、すべてのハンドラ設定が変更されます。

例 1-45 例

handle SVC stop       # SVC 例外が発生したときに、実行を停止して
                        メッセージを出力する。
handle IRQ print      # IRQ 例外が発生したときに、メッセージを出力するが、
                        実行を継続する。
handle IRQ noprint    # IRQ 例外が発生したときに、メッセージを出力しない。
handle noprint nostop # イベントをすべて無視し、メッセージを出力しない。
関連する参考文書
1.2.2 Execution control
非機密扱いPDF file icon PDF 版ARM DUI0452UJ
Copyright © 2010-2015 ARM.All rights reserved.