|
|
|
購入ページへ |
1-1-5 リモートデバッガ(デバッグモニタ)とは?
さきの説明から、バグを取り除く作業(デバッグ)の本質はユーザとCPUの間で生じている「見解の相違」を無くすことに他ならないことを理解していただけると思います。
CPUは、ある瞬間に命令を1つだけ実行(※3)します。プログラムは、一連の処理を羅列したものですから、CPUをプログラムの1ステップずつ順番に動作させ、ユーザの意図する処理の過程と逐一照合していって、どこで不一致が生じているかを知ることは、デバッグする上で非常に有力な手がかりになります。デバッグモニタには、こうした機能が含まれています。そのほか、任意の場所でCPUの動作を一時中断させたり、CPUの内部状態(レジスタ群)やメモリの内容を覗く機能なども含まれています。このような仕組みを実現するためには、特殊なハードウェアを使用する方法もありますが、一般に大掛かりで高価なシステムが必要です。そこで、実機で動作するユーザプログラム以外に、これらの機能を実現し、実機で動作するプログラムを埋め込んでおいて、必要に応じて機能を呼び出せるようにしておきます。これがデバッグモニタです。デバッグモニタは実機のCPUを利用して動作するため、外部に特別なハードウェアを付加する必要がなく、安価にデバッグ環境が構築できます。(ただし、直接ハードウェアに関するデバッグはできません。)組み込みシステムの多くは機械などの制御装置の一部で、キーボードやCRTなどが接続されているとは限りません。本キットでは、シリアルポートを経由してターミナル(端末機器)に接続し、そこから操作を受け付けるようにしています。
(※3)並列処理が可能な高機能CPUには、同時に複数の命令を実行できる品種もあります。
|
|