| |||
Home > DS-5 デバッガコマンド > DS-5 デバッガコマンドの一般的な構文と使用方法 > 式の使用 |
一部のコマンドでは、式を指定することができます。デバッガでは様々な種類の式を指定して、コマンドの操作を拡張できます。例えば、バイナリ数式、モジュール名への参照、関数呼び出しなどの使用が可能です。
式の中で $ 文字とレジスタ名を使用して、レジスタの内容にアクセスすることができます。以下に例を示します。
print 4+$R0 # R0 レジスタの内容に 4 を加算し、結果を出力
print
コマンドの結果はデバッガ変数に記録され、その後 $ 文字を使用して式の中で使用することができます。print
コマンドの結果は、個別に番号が付けられます。
print コマンドの結果にアクセスするには、以下のいずれかの方法を使用します。
$
最後の print の結果
$n
番号
を割り当てられた、print
の結果n
$$
最後から 2 番目の print 結果。
また以下のデバッガ変数を使用することもできます。
$cwd
現在の作業ディレクトリ
$cdir
現在のコンパイルディレクトリ
$entrypoint
現在のイメージのエントリポイント
$idir
現在のイメージディレクトリ
$sdir
現在のスクリプトディレクトリ
$datetime
文字列形式での現在の日付と時刻
$timems
1970 年 1 月 1 日から経過した時間(単位:1/1000 秒)
$pid
現在のオペレーティングシステムのプロセス ID
$thread
マルチスレッドアプリケーションの現在のスレッド ID
$core
対称型マルチプロセシング(SMP)システムの現在のプロセッサ ID
式の中で組み込み関数を使用して、より多くの機能を提供することができます。デバッガでは、以下の関数がサポートされています。
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
)を示します。