オンラインデバッグツール(ODT )は、 Digital Equipment Corporation(DEC)のハードウェア向けに開発された複数のデバッガプログラムの総称です。OS /8、RT-11、RSX-11、RSTS/Eなどの様々なオペレーティングシステムがODTを実装しており、11/03、11/23/24、11/53、11/ 73、11/83 /84を含むLSI-11ファミリープロセッサのファームウェアコンソールも同様にODTを実装していました。
デバッガは、8 進アドレスとデータを使用してメモリへのアクセスを可能にします。ソフトウェア システム内では、デバッガはプロセスのアドレス空間にアクセスします。DEC の PDP-11 プロセッサは、オペレーティングシステムの観点からは仮想メモリを実装していませんが、代わりに固定アドレス空間で動作し、アクティブ ページ レジスタ (APR) を使用して、プログラムのアドレス空間の統一ビューにマッピングされます。APR は、プログラムの RAM を 4K 16 ビット ワード単位で最大 32K までマッピングできます。つまり、APR は、それぞれ 4K に制限された 8 つの RAM セグメントをマッピングできます。この構造により、APR は RAM に最大 32K 16 ビット ワードをマッピングできます。RSTS/E の場合、これは通常、ランタイム システム (RTS) がアドレス空間の上位部分にマッピングされ、ユーザー プログラムがアドレス空間の下位部分に存在することを意味します。RTS は、ユーザー プログラムに代わってオペレーティングシステムへのアクセスをサポートするコードを提供します。 RTS自体は通常読み取り専用であるため、非静的データはすべてユーザープログラムのアドレス空間に格納されます。オペレーティングシステムはRTSのコピーを1つロードし、そのRTSを必要とするユーザープログラムにマッピングします。APRは、RTSをプログラムのアドレス空間の上位部分に4 KiB単位でマッピングするように設定されています。したがって、BASIC Plus RTS(BASIC+プログラミング言語用)は通常16 KiBを自身にマッピングし、ユーザープログラムは 下位16 KiBに4 KiB単位でマッピングされます。RT11 RTSは4 KiBを占有するため、RT11ベースの周辺機器交換プログラム(PIP)などのユーザープログラムは最大28 KiBまで拡張できます。
ODTを使用すると、RTSなどのバイナリモジュールを「パッチ」することができ、バイナリのソースコードを再コンパイルする必要はありません。
ファームウェアコンソールの実装は物理メモリにアクセスします。
ODTは非シンボリックデバッガであり、Unixシステム上のAdvanced Debugger(adb)と同様の機能を実装しています。
コンソールODT [ 1 ]は、以前のプロセッサの多くにあった「ライトとスイッチ」コンソールに取って代わるものです。
コンソールODTへのアクセスは、電源投入時(適切な電源投入モードを選択した場合)、カーネルモードでのHALT命令の実行、またはフロントパネルのHALTスイッチもしくはボタンの使用によって実現されます。
@1000/ xxxxxx 112737<LF> 001002 xxxxxx 101<LF> 001004 xxxxxx 177566<LF> 001006 xxxxxx 137<LF> 001010 xxxxxx 1000<CR> >R7/xxxxxx 1000<CR> >RS/340
これはプログラムを保存する
MOVB 'A' , @ #177566 ; 'A'をコンソール送信レジスタに移動JMP @ #1000 ; 先頭に戻るPC(プログラムカウンタ)への書き込みは、PCをプログラムの開始位置に設定し、PSW(プログラムステータスワード)への書き込みは割り込みをロックアウトします。
この処理によって、コンソールに「A」という文字列が連続して出力されます。送信準備完了のチェックが行われていないため、大量の無意味な文字が表示される可能性が非常に高いです。
RSX-11M-Plus ODT [ 2 ]は基本的に他のすべての ODT 実装の上位互換です。
ODTは、タスクビルダーの/DAスイッチを使用してタスクにリンクされるコードとして実装されます。
TKB HELLO/DA、HELLO/CR=HELLO
ODTで構築されたタスクが実行されると、エントリ時にODTが呼び出されます。
ラン・ハロー ODT:TT0 _
アンダースコアは標準的なODTプロンプトです。
ODTデバッガで使用されるアドレスは、ODTが動作しているモードにおける16ビットアドレスであり、コンソールODTで使用される物理アドレスとは異なります。
PDP -8のOS/8オペレーティングシステムのODTコマンド[ 3 ]は、 8進デバッグテクニックツールを呼び出します。
後続のPDP-11 ODTプログラムと同様に、これは非シンボリックであり、メモリの検査や変更、ブレークポイントの設定も可能である。