Roblox のコードをデバッグするためのいくつかの基本的な機能を提供します。Lua のネイティブライブラリとは対照的に、このバージョンは重度にサンドボックスされています。
概要
関数
現在の関数スタックを記述する未定形式のストリングを返します。
現在の関数スタックを記述する未定形式のストリングを返します。
現在のスレッドのスタックを通過し、ターゲットレベルの詳細を含むストリングを返します。
現在のスレッドのスタックを完全にスキャンし、ターゲット機能の詳細を含むストリングを返します。
ターゲットスレッドのスタック全体を横切り、ターゲットレベルの詳細を含むコールスタックのストリングを返します。
レーベルのプロフィールを開始します。
最新のラベル Library. debug. profileBegin() を開いたときのプロフィールを停止します。
現在のスレッドのアクティブなメモリカテゴリの名前を返します。
現在のスレッドのメモリカテゴリにカスタムタグを割り当てます。
タグが自動的に割り当てられる値にリセットされます(通常、スクリプト名)。
個々の関数とスクリプトのネイティブコードサイズを示すテーブルを表示します。
関数
traceback
現在の関数コールスタックのトレイスバックをストリングとして返します。つまり、この時点で呼び出された関数の説明です。デバッグ中、これはエラースタックトレイスのように動作しますが、スクリプトの実行を停止しません。
パラメータ level は、1 が Library.debug.traceback() 自体の呼び出し、debug.traceback() が関数の呼び出しを、2>12> が関数の呼び出しを、と続きます。5>25> が関数の呼び出しを、8>18> が
この関数は、ソースコードと比較して不正確な結果を返し、 トレースバックの形式 はいつでも変更される可能性があります。これらの情報は、スクリプト名や行番号などの特定の情報の扱いに使用するべきではありません。
次の例には、連続的な関数コールが含まれています; fnB() が呼び出され、fnA() が呼び出され、その後 debug.traceback() が呼び出されます。
local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- トレースバックを開始するには、fnB() 関数を呼び出します
fnB()
戻り値
現在の関数コールスタックのトレースバック。
traceback
現在の関数コールスタックのトレイスバックをストリングとして返します。つまり、この時点で呼び出された関数の説明です。デバッグ中、これはエラースタックトレイスのように動作しますが、スクリプトの実行を停止しません。
パラメータ level は、1 が Library.debug.traceback() 自体の呼び出し、debug.traceback() が関数の呼び出しを、2>12> が関数の呼び出しを、と続きます。5>25> が関数の呼び出しを、8>18> が
この関数は、ソースコードと比較して不正確な結果を返し、 トレースバックの形式 はいつでも変更される可能性があります。これらの情報は、スクリプト名や行番号などの特定の情報の扱いに使用するべきではありません。
次の例には、連続的な関数コールが含まれています; fnB() が呼び出され、fnA() が呼び出され、その後 debug.traceback() が呼び出されます。
local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- トレースバックを開始するには、fnB() 関数を呼び出します
fnB()
パラメータ
戻り値
現在の関数コールスタックのトレースバック。
info
コールスタックのプログラム式インスペクションを許可します。この機能は、debug.traceback() と同じで、データを返す形式を保証します。これは、構造化された入力を期待するシステムへのデータの送信に便利です。
local function fnA()
-- レベル 1 と 2 のソース識別子 ("s") とライン ("l")
print(debug.info(1, "sl")) --> fnA() 3
print(debug.info(2, "sl")) --> fnA() 7
end
fnA()
この関数は、 debug.getinfo という、標準 Lua ライブラリの一部であり、同じ目的を果たしています。
パラメータ
コールスタックのどのレベルで情報が返されるかを決定します。1 は、debug.info() を参照しています。2 は、2>Call2> を参照しています。5>15> は、8>28> を参照しています。11> は、4>Call4> を参照しています。
戻された情報が表示する内容を記述する文字列。 必須 0 または 1 個のインスタンスのみの角色のインスタンスを含める必要があります: slnaf 、それぞれ情報の一部を表示します:
戻り値
info
コールスタックのプログラム式インスペクションを許可します。この機能は、debug.traceback() と同じで、データを返す形式を保証します。これは、構造化された入力を期待するシステムへのデータの送信に便利です。
local function fnA()
end
local function fnB()
end
-- fnA() とfnB() の両方の出力行 ("l") 、名前 ("n") 、および識別子 ("f")
print(debug.info(fnA, "lnf")) --> 1 関数 fN:0x75e3d3c398a81252
print(debug.info(fnB, "lnf")) --> 5 fnB function: 0x6022a6dc5ccf4ab2
この関数は、 debug.getinfo という、標準 Lua ライブラリの一部であり、同じ目的を果たしています。
パラメータ
情報を返したコールスタックの機能を説明する必要があります。
戻された情報が表示する内容を記述する文字列。 必須 0 または 1 個のインスタンスのみの角色のインスタンスを含める必要があります: slnaf 、それぞれ情報の一部を表示します:
戻り値
info
コールスタックのプログラム式インスペクションを許可します。この機能は、debug.traceback() と同じで、データを返す形式を保証します。これは、構造化された入力を期待するシステムへのデータの送信に便利です。
local function fnA()
-- レベル 1 と 2 のソース識別子 ("s") とライン ("l")
print(debug.info(1, "sl")) --> fnA() 3
print(debug.info(2, "sl")) --> fnA() 7
end
fnA()
この関数は、 debug.getinfo という、標準 Lua ライブラリの一部であり、同じ目的を果たしています。
パラメータ
Library.coroutine.create() によって返されたスレッド。
コールスタックのどのレベルで情報が返されるかを決定します。1 は、debug.info() を参照しています。2 は、2>Call2> を参照しています。5>15> は、8>28> を参照しています。11> は、4>Call4> を参照しています。
戻された情報が表示する内容を記述する文字列。 必須 0 または 1 個のインスタンスのみの角色のインスタンスを含める必要があります: slnaf 、それぞれ情報の一部を表示します:
戻り値
resetmemorycategory
タグが自動的に割り当てられる値にリセットされます(通常、スクリプト名)。
戻り値
dumpcodesize
個々の関数とスクリプトのサイズのネイティブコードのテーブルを表示します。この関数は Studio のコマンドバーにのみあります。詳細は、ネイティブコード生成 ページを参照してください。