デバッグを行うには、まず、対象プログラムをアセンブルオプション /ZI でアセンブルします。これにより、作成したオブジェクトファイルにデバッグ用の特別なコードとデータが書き込まれます。
複数のソースファイルから 1 つの実行ファイルを作成する場合、デバッグの対象とする必要のないソースファイルは、オプション /ZI を指定しないでアセンブルします。
次にリンクを行います。/ZI でアセンブルしたオブジェクトファイルを通常の方法でリンクすると、自動的に「デバッグ情報ファイル」が作成されます。このファイルの名前は、リンカ LIL に提供した最初のオブジェクトファイル名の拡張子を「.DBG」に代えたものです。デバッグ情報ファイルは、デバッガ LID が使用するためのファイルであり、その内容を見ることはできません。
メモ /ZH を指定してアセンブルした場合も、デバッグ情報 (*.DBG) ファイルが作成されます。/ZH で作成される .DBG ファイルはテキスト形式ですが、LID 用に /ZI で作成される .DBG ファイルはバイナリ形式なので読むことができません。
これでデバッグの準備は完了です。ソースファイルとデバッグ情報ファイルを両方ともカレントディレクトリに置いてください。
デバッグ用アセンブルには、いくつかの注意点があります。
コードサイズの増大
デバッグ用にアセンブルした場合、プログラムのコードサイズが平均で 25 %ほど大きくなります。ときにはこのためにジャンプ命令が届かなくなることがありますが、このような場合はアセンル時にオプション/O も指定してください。セグメントのサイズが 64K バイトを超える場合は、デバッグできません。
JMP $+3 などのソースコード
機械語命令のバイト数を前提としたコーディングをしているプログラムは、LID ではデバッグできません。
INT 3 命令を使用するプログラム
デバッガ LID は、デバッグ用の特別な用途に INT 3 命令を使用するため、デバッグ対象のプログラム自身がこの命令を使用している場合は注意する必要があります。この場合は、LID でデバッグ用途に使う割り込み番号をアセンブル時に指定します。詳細については、アセンブルオプション /ZI の説明を参照してください。
インクルードファイルとマクロ
ソースコードでインクルードファイルやマクロを使用している場合、デバッグ時にその中のソース行を表示したり、トレースしたりすることはできません。
デバッガ LID 起動するには、コマンドラインから次のように入力します。
LID [<dbg-options>...] <trg-program> [<parameters>...]
各項目の間は空白で区切ります。
例 LID HELLO HELLO を起動する LID /A HELLO HELLO をデバッガオプション/A で起動する LID ABC DEF ABC にパラメータ DEF を渡して起動する
サンプルプログラム HELLO.ASM からデバッグ用に HELLO.EXE を作成し、デバッガ LID で起動するまでの手順例を示します。コマンドラインから以下のように入力します。
LASM HELLO /ZI デバッグ用にオプション/ZI でアセンブルする LIL HELLO 通常どおりにリンクする LID HELLO デバッガ LID で HELLO.EXE を起動する Q デバッガ LID を終了する