thbreak

このコマンドは特定の位置にハードウェア実行ブレークポイントを設定し、その後ブレークポイントに達したときにそれを削除します。また、if ステートメントを使用して、条件式が true と評価される場合のみ停止するように条件ブレークポイントを指定することもできます。

このコマンドは、ブレークポイントの ID を新しいデバッガ変数 $n に記録します。n は数値です。ブレークポイントの動作を削除または変更するには、この変数をスクリプトで使用します。$n が最後または最後から 2 番目のデバッガ変数の場合は、$ または $$ をそれぞれ使用して ID にアクセスできます。

Note

ハードウェアブレークポイントの数は、通常、制限があります。使用可能なハードウェアブレークポイントをすべて使用してしまった場合、使用しないハードウェアブレークポイントを削除するか無効化します。

共有オブジェクト内に設定されたブレークポイントまたはカーネルモジュールは、共有オブジェクトかカーネルモジュールがアンロードされると保留中になります。

Show/hide構文

thbreak [-d] [-p] [ [filename:]location | *address] [ thread | core number...] [vmid vmid] [if expression]

各パラメータには以下の意味があります。

d

ブレークポイントを作成した直後に無効にします。

p

ブレークポイントを認識可能な位置に解決できない場合に、保留ブレークポイントを作成するかを指定します。

filename

ファイルを指定します。

location

以下のように位置を指定します。

line_num

行番号

function

関数名

label

ラベル名

+offset | -offset

現在の位置からの行オフセットを指定します。

number

ブレークポイントの適用先として 1 つ以上のスレッドまたはプロセッサを指定します。現在のスレッドを参照するには、$thread を使用します。number を指定しない場合は、すべてのスレッドにブレークポイントが適用されます。

address

アドレスを指定します。これには、アドレスまたはアドレスを求める式を指定できます。

vmid

ブレークポイントの適用先として仮想マシン ID(VMID)を指定します。これには、整数または整数を求める式を指定できます。

expression

ブレークポイントに達したときに、評価する式を指定します。

引数を指定しない場合、次の命令にハードウェアブレークポイントが設定されます。

Show/hide

Example 178. thbreak

thbreak *0x8000                # アドレス 0x8000 にブレークポイントを設定
thbreak *0x8000 thread $thread # 現在のスレッドのアドレス 0x8000 に
                               # ブレークポイントを設定
thbreak *0x8000 thread 1 3     # スレッド 1 とスレッド 3 のアドレス 0x8000 に 
                               # ブレークポイントを設定
thbreak main                   # main() のアドレスにブレークポイントを設定
thbreak SVC_Handler            # ラベル SVC_Handler のアドレスにブレークポイントを設定
thbreak +1                     # 次のソース行のアドレスにブレークポイントを設定
thbreak my_File.c:main         # my_File.c の main() のアドレスにブレークポイントを設定
thbreak my_File.c:8            # my_File.c の行 8 のアドレスにブレークポイントを設定
thbreak function1 if x>0       # x>0 の場合に停止する条件ブレークポイントを設定

Show/hide関連項目

Copyright © 2010-2014 ARM. All rights reserved.ARM DUI 0452TJ
Non-ConfidentialID102114