debug

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

Roblox のコードをデバッグするためのいくつかの基本的な機能を提供します。Lua のネイティブライブラリとは対照的に、このバージョンは重度にサンドボックスされています。

概要

関数

  • traceback(message : string,level : number):string

    現在の関数スタックを記述する未定形式のストリングを返します。

  • traceback(thread : coroutine,message : string,level : number):string

    現在の関数スタックを記述する未定形式のストリングを返します。

  • info(level : number,options : string):Tuple

    現在のスレッドのスタックを通過し、ターゲットレベルの詳細を含むストリングを返します。

  • info(function : function,options : string):Tuple

    現在のスレッドのスタックを完全にスキャンし、ターゲット機能の詳細を含むストリングを返します。

  • info(thread : coroutine,level : number,options : string):Tuple

    ターゲットスレッドのスタック全体を横切り、ターゲットレベルの詳細を含むコールスタックのストリングを返します。

  • profilebegin(label : string):void

    レーベルのプロフィールを開始します。

  • profileend():void

    最新のラベル 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()

パラメータ

message: string

返された string の最初の文字列。

level: number

コールスタックが返す "up" の呼び出し数。

既定値: 1

戻り値

現在の関数コールスタックのトレースバック。

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()

パラメータ

thread: coroutine

Library.coroutine.create() によって返されたスレッド。

message: string

返された string の最初の文字列。

level: number

コールスタックが返す "up" の呼び出し数。

既定値: 1

戻り値

現在の関数コールスタックのトレースバック。

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 ライブラリの一部であり、同じ目的を果たしています。

パラメータ

level: number

コールスタックのどのレベルで情報が返されるかを決定します。1 は、debug.info() を参照しています。2 は、2>Call2> を参照しています。5>15> は、8>28> を参照しています。11> は、4>Call4> を参照しています。

options: string

戻された情報が表示する内容を記述する文字列。 必須 0 または 1 個のインスタンスのみの角色のインスタンスを含める必要があります: slnaf 、それぞれ情報の一部を表示します:

  • s (string ) — 機能の定義されたスクリプトの完全な名前と同等の機能ソース識別子。
  • l (番号 ) — 機能コールのライン番号 — level によって表現される。
  • n (機能名 — 機能の名前;匿名関数と C 関数の両方には、割り当てられたデバッグ名がない場合があります。
  • a ( number , bool ) — 機能のアリティ、パラメーターの数と機能が変換可能かどうかを参照します。
  • f (機能 ) — 機能がインスペクトされた関数。

戻り値

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 ライブラリの一部であり、同じ目的を果たしています。

パラメータ

function: function

情報を返したコールスタックの機能を説明する必要があります。

options: string

戻された情報が表示する内容を記述する文字列。 必須 0 または 1 個のインスタンスのみの角色のインスタンスを含める必要があります: slnaf 、それぞれ情報の一部を表示します:

  • s (string ) — 機能の定義されたスクリプトの完全な名前と同等の機能ソース識別子。
  • l ( 番号 ) — 線は function が定義されている。
  • n (機能名 — 機能の名前;匿名関数と C 関数の両方には、割り当てられたデバッグ名がない場合があります。
  • a ( number , bool ) — 機能のアリティ、パラメーターの数と機能が変換可能かどうかを参照します。
  • f (機能 ) — 機能がインスペクトされた関数。

戻り値

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 ライブラリの一部であり、同じ目的を果たしています。

パラメータ

thread: coroutine

Library.coroutine.create() によって返されたスレッド。

level: number

コールスタックのどのレベルで情報が返されるかを決定します。1 は、debug.info() を参照しています。2 は、2>Call2> を参照しています。5>15> は、8>28> を参照しています。11> は、4>Call4> を参照しています。

options: string

戻された情報が表示する内容を記述する文字列。 必須 0 または 1 個のインスタンスのみの角色のインスタンスを含める必要があります: slnaf 、それぞれ情報の一部を表示します:

  • s (string ) — 機能の定義されたスクリプトの完全な名前と同等の機能ソース識別子。
  • l (番号 ) — 機能コールのライン番号 — level によって表現される。
  • n (機能名 — 機能の名前;匿名関数と C 関数の両方には、割り当てられたデバッグ名がない場合があります。
  • a ( number , bool ) — 機能のアリティ、パラメーターの数と機能が変換可能かどうかを参照します。
  • f (機能 ) — 機能がインスペクトされた関数。

戻り値

profilebegin

void

マイクロプロフィーラー ラベルのプロフィールを開始します。

パラメータ

label: string

この マイクロプロファイラー ラベルが表示するテキスト。

戻り値

void

profileend

void

最新の MicroProfiler ラベルのプロフィールを停止します。これは debug.profilebegin() が開きました。

戻り値

void

getmemorycategory

現在のスレッドのアクティブなメモリカテゴリの名前を返します。

戻り値

現在のスレッドのアクティブメモリカテゴリ。

setmemorycategory

開発者コンソール のスレッドメモリカテゴリにカスタムタグ名を割り当てます。複数のスレッドを同じスクリプトのメモリ使用分析に便利。現在のスレッドの以前のメモリカテゴリの名前を返します。

パラメータ

tag: string

戻り値

現在のスレッドの前のメモリカテゴリ。

resetmemorycategory

void

タグが自動的に割り当てられる値にリセットされます(通常、スクリプト名)。

戻り値

void

dumpcodesize

void

個々の関数とスクリプトのサイズのネイティブコードのテーブルを表示します。この関数は Studio のコマンドバーにのみあります。詳細は、ネイティブコード生成 ページを参照してください。

戻り値

void