式の使用

一部のコマンドでは、式を指定することができます。デバッガでは様々な種類の式を指定して、コマンドの操作を拡張できます。例えば、バイナリ数式、モジュール名への参照、関数呼び出しなどの使用が可能です。

Show/hide$ 文字を使用したレジスタおよびデバッガ変数の内容へのアクセス

式の中で $ 文字とレジスタ名を使用して、レジスタの内容にアクセスすることができます。以下に例を示します。

print 4+$R0      # R0 レジスタの内容に 4 を加算し、結果を出力

print コマンドの結果はデバッガ変数に記録され、その後 $ 文字を使用して式の中で使用することができます。print コマンドの結果は、個別に番号が付けられます。

print コマンドの結果にアクセスするには、以下のいずれかの方法を使用します。

$

最後の print の結果

$n

番号 n を割り当てられた、print の結果

$$

最後から 2 番目の print 結果。

また以下のデバッガ変数を使用することもできます。

$cwd

現在の作業ディレクトリ

$cdir

現在のコンパイルディレクトリ

$entrypoint

現在のイメージのエントリポイント

$idir

現在のイメージディレクトリ

$sdir

現在のスクリプトディレクトリ

$datetime

文字列形式での現在の日付と時刻

$timems

1970 年 1 月 1 日から経過した時間(単位:1/1000 秒)

$pid

現在のオペレーティングシステムのプロセス ID

$thread

マルチスレッドアプリケーションの現在のスレッド ID

$core

対称型マルチプロセシング(SMP)システムの現在のプロセッサ ID

Show/hide式の中での組み込み関数の使用

式の中で組み込み関数を使用して、より多くの機能を提供することができます。デバッガでは、以下の関数がサポートされています。

int strcmp(const char *string1, const char *string2);

2 つの文字列を比較して 1 つの戻り値に整数を返します。この整数を条件付きブレークポイントの中で使用することで、特定の char* 変数が所定の字列に等しい場合だけ処理を停止するよう設定できます。以下に例を示します。

break main.c:45 if strcmp(myVar, "10") == 0

戻り値は以下のとおりです。

<0

文字の照合順序で、2 番目の引数文字列の値が最初の引数文字列の値より後であること(str1 < str2)を示します。

0

2 つの文字列の内容が同じであることを示します。

>0

文字の照合順序で、最初の引数文字列の値が 2 番目の引数文字列の値より後であること(str2 < str1)を示します。

Show/hide関連項目

Copyright © 2010, 2011 ARM. All rights reserved.ARM DUI 0452FJ
Non-ConfidentialID111611