デバッグモニターについて
(0) はじめに
- rev2にも簡易デバッガがつきました。rev1のころよりも強力です。
- osecpu114d以降で試してみてください。
(1) 簡易デバッガの起動方法
- まず普通にアプリを起動しても、「おや?」と感じたらいつでもデバッガを起動できます。
- また、以下のようにすれば、最初からデバッガを起動できます。
prompt>osecpu -d app.ose
- これを使えば、コードの最初のほうをデバッグしたいのだけど、どうしても Ctrl+Alt+D の入力が間に合わない!とかいう問題を回避できます(笑)。
(2) 代表的なコマンド
- (ここに書いていないコマンドもあるかもしれません)
dbg>q
dbg>quit
- どちらもosecpuそのものの終了を意味します。
dbg>p R00
- R00レジスタの値を確認できます。bit値も分かります。同様にR01~R3Bも確認できます。
- PxxやFxxレジスタもこのpコマンドで表示できるようにする予定ですが、まだ実装できていません。
dbg>c
- アプリの実行を再開します。ブレークポイント条件を満たした場合は、そこでまたデバッガが自動起動します。
dbg>s
- ステップ実行です。1命令ずつ実行できます。
dbg>b DR0=12
- ブレークポイント設定です。この例の場合は、実行がソースコードの12行目に差しかかたらブレークポイントが発動します。もちろん他の行番号でもできます。
dbg>b op=0x14
- ブレークポイント設定です。この例の場合は、ADD命令を実行する直前にブレークポイントが発動します。もちろん他の命令でもできます。
dbg>b R00=34
- ブレークポイント設定です。この例の場合は、R00の値が34になったらブレークポイントが発動します。もちろんR01~R3Bに対してもできますし、他の値でも平気です。
dbg>delete
- 設定されたブレークポイントをすべてクリアします。
dbg>watch0=R02
- R02をウォッチ[0]に設定します。
dbg>watchs=1
- ウォッチを1件表示するようになります。
- ウォッチを設定すると、pコマンドを使わなくても値が見れるようになるので便利です。
(3) 特徴
- デバッガに入ると、DR0の値が表示されるので、今ソースコードの何行目を実行中なのかをすぐに確認できます。
こめんと欄