十年間のLisp作成経験を持つ、アプリケーション研究開発担当でZWCAD副マネージャのArphoneが役に立ちそうなヒントをいくつかシェアしてくれました。
ZWCADは最初のバージョンからLispをサポートしていますが、デバッガーは新機能です。そのため、以前、Lispプログラムをデバッグして間違っている箇所を発見したい場合、コードをZWCADコマンド欄に一行ずつコピーしなければなりません。しかし、この方法はうまく機能しない時もあります。これから、私が書いたこのプログラムを例として、FOOコマンドを定義して、BAR関数を呼び出ししてみましょう。
関数FOOの中にラムダ式を呼び出すmapcar関数があるので、これらのコードを1行ずつデバッグすることはとても難しいです。
しかし、今、ZWCAD2020にはLispデバッガーがあります。これにより、Lispプログラムをデバッグするのも簡単になりました。このツールは、実際にMicrosoft®の軽量で強力なソースコードエディタであるVisual Studio Codeの拡張機能であり、無料でオープンソースです。この拡張機能とVSCodeはZWCAD 2020とともにインストールされます。また、Microsoft®のウェブサイトからVSCodeをダウンロードし、その拡張機能市場からZWLispデバッガー拡張機能をインストールすることもできます。
ZWCAD 2020ではどうのようにFOO Lispをデバッグするでしょう。まず、VSCodeを起動して、VLIDEまたはVLISPのコマンドを実行します。手動でVSCodeを起動できるかどうかの疑問を持っているかもしれませんが、私から見ると、手動での起動方法はやめたほうがいいですね。それはVLIDEまたはVLISPが、VSCodeを起動すること以外に、ZWCADにデバッグ情報を収集することの注意もできるからです。
それから、VSCodeでソースファイルを開き、デバッグセッションを開始するために必要な設定をします。デバッグセッションを実行中のZWCADプロセスにアタッチするので、デバッグモードとして「Attach to ZWCAD」を選択します。新しいZWCADプロセスを開始する場合は、起動モードを選択します。
デバッグセッションが起動された後、ZWCADに戻ってソースファイルbar.lspをロードします。ZWCADはソースファイルのロード中に情報を収集する必要があるため、このステップはVLIDEまたはVLISPコマンドを実行した後にするのが要注意です。
そして、FOOコマンドを実行します。例外が起こる場合、その位置、コールスタック及び各種のインフォメーションがVSCodeに表示します。
エラーが発見された後、デバッグセッションは切断されます。それで再びFOO Lispをデバッグしたい場合、別のデバッグセッションを再起動する必要があります。
このデバッガーは、Lispプログラムの問題を発見するのにとても役立ちます。さらに詳しくお知りになりたい場合は、この動画をご覧ください。ご質問、ご不明な点等ございましたら、コメント欄よりお気軽にお問合せ下さい。