为Roblox的代码调试提供几个基本功能。与Lua的debug 库存在Lua的默认版本不同,这个版本已被重新沙箱。
概要
职能
返回一个描述当前函调用堆栈的 undefined 格式的字符串。
返回一个描述当前函调用堆栈的 undefined 格式的字符串。
穿过当前线程的整个堆栈并返回包含目标层级详细信息的字符串。
穿过当前线程的整个堆栈并返回包含目标函数详细调用堆的字符串。
穿过目标线程的整个堆栈并返回包含目标层级细节的调用堆栈的字符串。
开始为标签进行 profiling。
停止对最新打开的标签进行 profiling。 Library. debug.profileBegin() 打开了
返回当前线程的活跃内存类别的名称。
为当前线程的内存类别分配自定义标签。
重置 debug.setmemorycategory() 中分配的标签到自动分配值(通常是脚本名称)。
显示个人函数和脚本的代码大小的表。
职能
traceback
将当前函数堆的调用记录返回为字符串;在其他 words,这意味着对上调用的函数的描述。在调试时,这将像一个错误堆追踪行为,但不会停止脚本的执行。
leve等级 参数指定要考虑的调用堆级别,其中 1 是调用 debug.traceback() 本身, 1>21> 是调用函数调用 4> Li调试rary. debug. traceback()4> ,从而推动。请参阅下面的代码示例获取示例。
注意,这个函数经常会返回不准确的结果 (比原始源验证码) ,并且返回的追踪回调格式可能会随时更改。您不应该 不 解析返回值以获取特定信息,例如脚本名称或行号。
下面的例子包括顺序的函数调用; fnB() 被调用,并且调用 fnA() ,然后调用 debug.traceback()。
local function fnA()
print(debug.traceback("Specific moment during fnA()"))
end
local function fnB()
fnA()
end
-- 调用函数fnB()开始追踪
fnB()
返回
当前函数调用调用堆栈的追踪。
traceback
将当前函数堆的调用记录返回为字符串;在其他 words,这意味着对上调用的函数的描述。在调试时,这将像一个错误堆追踪行为,但不会停止脚本的执行。
leve等级 参数指定要考虑的调用堆级别,其中 1 是调用 debug.traceback() 本身, 1>21> 是调用函数调用 4> Li调试rary. debug. traceback()4> ,从而推动。请参阅下面的代码示例获取示例。
注意,这个函数经常会返回不准确的结果 (比原始源验证码) ,并且返回的追踪回调格式可能会随时更改。您不应该 不 解析返回值以获取特定信息,例如脚本名称或行号。
下面的例子包括顺序的函数调用; 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()
-- 输出源标识符(“s”)和线(“l”) 在 1 和 2 级
print(debug.info(1, "sl")) -->fnA() 3
print(debug.info(2, "sl")) -->fnA() 7
end
fnA()
注意,这个函数与 调试.getinfo 类似,是标准 Lua 库中的一部分,它的目的是相同的。
参数
确定在调用堆的哪个级别返回的信息应该描述。一个值为 1 代表调用 debug.info() 的函数,一个值为 2 代表调用该函数的函数,从而在 2>12> 代表调用该函数的函数。
返回
info
允许程序式检查调用堆。这个函数与 debug.traceback() 不同,因为它确保数据的格式。这对于一般的日志和过滤目的非常有用,还可用于发送数据到系统,期望结构输入,例如崩溃聚集。
local function fnA()
end
local function fnB()
end
-- 输出线(“l”)、命名“n”和识别“f” 对于 bothfnA() 和fnB()
print(debug.info(fnA, "lnf")) --> 1个fnA函数:0x75e3d3c398a81252
print(debug.info(fnB, "lnf")) --> 5 fnB function: 0x6022a6dc5ccf4ab2
注意,这个函数与 调试.getinfo 类似,是标准 Lua 库中的一部分,它的目的是相同的。
参数
返回
info
允许程序式检查调用堆。这个函数与 debug.traceback() 不同,因为它确保数据的格式。这对于一般的日志和过滤目的非常有用,还可用于发送数据到系统,期望结构输入,例如崩溃聚集。
local function fnA()
-- 输出源标识符(“s”)和线(“l”) 在 1 和 2 级
print(debug.info(1, "sl")) -->fnA() 3
print(debug.info(2, "sl")) -->fnA() 7
end
fnA()
注意,这个函数与 调试.getinfo 类似,是标准 Lua 库中的一部分,它的目的是相同的。
参数
一个由 coroutine.create() 创建的线程。
确定在调用堆的哪个级别返回的信息应该描述。一个值为 1 代表调用 debug.info() 的函数,一个值为 2 代表调用该函数的函数,从而在 2>12> 代表调用该函数的函数。