前: Sparclet Remote, 上: Remote
構成によっては、 ユーザ・プログラムをデバッグする際にハードウェアCPUの代わりに使うことのできるCPUシミュレータが、 GDBの中に組み込まれています。 現在のところ、 ARM、D10V、D30V、FR30、H8/300、H8/500、 i960、M32R、MIPS、MN10200、MN10300、 PowerPC、SH、Sparc、V850、W65、Z8000 用のシミュレータが利用できます。
Z8000系については、 `target sim'によって、 Z8002 (Z8000アーキテクチャの、 セグメントを持たない変種) またはZ8001 (セグメントを持つ変種) をシミュレートします。 シミュレータは、 オブジェクト・コードを調べることで、 どちらのアーキテクチャが適切であるかを認識します。
target sim
argsこのターゲットを指定した後には、
ホスト・コンピュータ上のプログラムをデバッグするのと同様の方法で、
シミュレートされたCPU用のプログラムをデバッグすることができます。
新しいプログラムのイメージをロードするには
file
コマンドを使い、
ユーザ・プログラムを実行するにはrun
コマンドを使う、
という具合です。
Z8000シミュレータでは、
通常のマシン・レジスタ
(info reg
を参照)
がすべて利用可能であるだけでなく、
特別な名前を持つレジスタとして、
3つの追加情報が提供されています。
cycles
insts
time
これらの変数は、 GDBの式の中で普通に参照することができます。 例えば、 `b fputc if $cycles>5000'は、 シミュレートされたクロック・ティックが最低5,000回発生した後に停止するような、 条件付きブレイクポイントを設定します。