リモート デバッガーを使用して LuaLaTeX マクロをステップ実行する方法はありますか?

リモート デバッガーを使用して LuaLaTeX マクロをステップ実行する方法はありますか?

LaTeXマクロを書くことは常に困難であり、主要なパッケージを書くことは、本物のプログラマー

幸いなことに、LuaTeX が開発中であり、Lua マクロを記述する方が TeX でプログラミングするよりも人間に優しいと言えるでしょう。それでも、LuaTeX をリモート デバッガーと組み合わせる方法があれば、さらに使いやすくなるでしょう。

そこで私はこう尋ねます。LuaLaTeX マクロをリモートでデバッグする方法はありますか?

この質問は本質的には投稿の言い換えであるLDT を使用した LuaLatex での Lua のデバッグ質問がほとんど含まれていなかったため、投稿は閉じられました。投稿ではほぼ完全な解決策が提案されていましたが、いくつか問題があり、これらの問題が解決できるかどうかを知りたいです。

答え1

現在では、ドキュメントの LuaTeX 処理の途中で、Lua コードの GUI デバッグを行うことができます。ブレークポイント、変数の監視、コードのステップ実行、呼び出しスタック、さらにはマウスをホバーすると変数コンテンツを含むツールチップが表示される機能も備えています。

TeXで作業する私の環境はVSコード+LaTeXワークショップ+LTeX非常に便利です。C++ プログラムを書いてデバッグし、同じウィンドウでそれを説明する論文を書くことができます。LaTeX Workshop には非常に多くの機能があるため、TeXstudio のようなものは不要に感じられます。

VS Code の同じ環境で TeX ドキュメントを編集し、その Lua をデバッグすることもできます。ドキュメント内で Lua をサポートおよびデバッグするには、次の 2 つの拡張機能が必要です。ルアそしてローカル Lua デバッガー

デバッグするには、プリアンブルに次のコードを挿入します。

\begin{luacode}
    require("lldebugger").start()
\end{luacode}

次に、次の起動構成を作成します。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug Custom Lua Environment",
            "type": "lua-local",
            "request": "launch",
            "stopOnEntry": false,
            "program": {
                "command": "lualatex"
            },
            "args": ["mwe.tex"]
        }
    ]
}

上記はmwe.texドキュメントの名前です。これで完了です。デバッグの準備は完了です。F5 キーを押すだけです。これまでのところ、唯一の欠点は、ドキュメント内にブレークポイントを配置できないことです。Lua.texファイルである必要があります。

以下はデバッグ セッションのスクリーンショットです。

ここに画像の説明を入力してください

答え2

シンプルで軽量な代替手段の1つは、コマンドラインインターフェースデバッガーです。デバッガー.luaスコット・レンブケ著。ないリモート デバッグ ソリューションではありませんが、セットアップは非常に簡単です。欠点は、GUI がないため、すべてがターミナルを通じて実行されることです。しかし、これは、おそらく現在までにほとんどの LuaLaTeX パッケージ作成者が使用している方法である、印刷コマンドを発行するよりもはるかに優れています。

開始するには:

  1. ダウンロードデバッガー.luaプロジェクト フォルダーに配置します。
  2. local dbg = require("debugger")デバッグする .lua ファイルの先頭にコマンドを配置します。
  3. dbg()コードの実行を中断したいコードの場所にコマンドを配置します。
  4. ターミナル コマンドを使用して、変数を検査したり、カスタム コードを実行したりします。コマンドを発行するhと、使用可能なコマンドの簡単な概要が表示されます。

関連情報