1.3.43 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-46 例

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