この初版は Lua 5.0 向けに書かれました。以降のバージョンでもほとんどは関連性がありますが、違いがいくつかあります。
4 版は Lua 5.3 を対象としており、Amazon や他の書店で購入できます。
本を購入することで、Lua プロジェクトをサポートすることにもなります。
![]() |
Programming inLua | ![]() |
パート III. 標準ライブラリ 第 23 章. Debug ライブラリ |
Debug ライブラリは Lua におけるデバッガーではありませんが、Lua のデバッガーを記述するために必要なすべてのプリミティブを提供しています。パフォーマンス上の理由から、C API を介してこれらのプリミティブへの公式インターフェースが用意されています。Lua の Debug ライブラリは、これらの関数を Lua コード内で直接アクセスするための方法です。このライブラリは、そのすべての関数を debug
テーブル内部で宣言します。
他のライブラリとは異なり、debug ライブラリは控えめに使用する必要があります。まず、その機能の一部はパフォーマンスで有名ではありません。次に、それが作成した関数の外部からローカル変数にアクセスできないなど、言語のいくつかの神聖な真理を破ります。製品の最終バージョンでこのライブラリを開きたくない場合や、消去したい場合が頻繁にあります
debug = nil
Debug ライブラリは、内省的 関数とフック の 2 種類の関数で構成されています。内省的関数を使用すると、実行中のプログラムのさまざまな状態を確認できます。たとえば、アクティブな関数のスタック、実行中の現在の行、ローカル変数の値と名前です。フックを使用すると、プログラムの実行を追跡できます。
Debug ライブラリにおける重要な概念はスタックレベル です。スタックレベルは、その時点でアクティブであり、つまり呼び出されてまだ返っていない特定の関数を指す数値です。Debug ライブラリを呼び出す関数はレベル 1、それを呼び出した関数はレベル 2 になります。
Copyright © 2003–2004 Roberto Ierusalimschy. All rights reserved. | ![]() |