デバッグ!

マシンが意図しない動作をして、挙げ句のはてに止まってしまったり、 妙な結果を出して終了したりすると思います。 最初から完璧なコンパイラなんて書けるわけありませんからね。 Visvm は、オブジェクトコード内の問題をつきとめるための さまざまな手段を内蔵しています。

Step 実行

ではまず、マシンをリセットしましょう。 Reload ボタンを押して下さい。 プログラムの再読み込みを行ない、マシンは初期化されます。 次に、Step ボタンを押してみて下さい。 マシンは1つだけ命令を実行し、また停止します。 これで問題のある部分にたどり着くことができます。

より高度な実行制御

大きなプログラムになると、 step で問題の部分に到達するのは大変です。 大体の問題点が判明したら、 そこまでは一気に実行させてしまいたいですね。 Program ウィンドウの x 欄をマウスでクリックしてみて下さい。 クリックのたびに x がついたり消えたりします。 マシンが Run によってプログラムを実行しているとき、 このマークのついている命令の実行の直前で停止します。 そこから引続き step や run で実行を継続させることができます。 これを Break Point と呼びます。

また、run で実行している最中は Run ボタンが Stop に変わります。 これを押してマシンを緊急停止させることもできます。 (ただし、反応が鈍いかもしれない)

マシンへの介入

ブレークポイントやステップ実行でマシンが一旦停止しているときには、 マシンにさまざまな操作を施すことができます。
レジスタ操作
Control ウィンドウのレジスタ表示部分は、ボタンにもなっています。 このボタンを押して、その値を入れ換えてしまうこともできます。 「ここのレジスタがこの値だったらうまく動くはず」の検証に使って下さい。
ブレークポイント
ブレークポイントの設定、解除は最初でなくても行なえます。

次:陥りやすい点