Lua 找到一条被称为

Lua 找到一条被称为,lua,Lua,可能重复: 例如,是否可能找到调用指定函数的行?不是Lua-specific,但如果您知道它是什么函数,可以在调用它之前放置调试消息 可能有某种特定于Lua的调试,我不知道 样品 之前: myFunc(param1); myFunc(param2); myFunc(param3); 之后: io.write("About to call myFunc the first time"); myFunc(param1); io.write("About to call myFunc the se

可能重复:


例如,是否可能找到调用指定函数的行?

不是Lua-specific,但如果您知道它是什么函数,可以在调用它之前放置调试消息

可能有某种特定于Lua的调试,我不知道

样品

之前:

myFunc(param1);
myFunc(param2);
myFunc(param3);
之后:

io.write("About to call myFunc the first time");
myFunc(param1);
io.write("About to call myFunc the second time");
myFunc(param2);
io.write("About to call myFunc the third time");
myFunc(param3);

显然,您可以使用更有意义的调试消息。

不是特定于Lua的,但是如果您知道它是什么函数,您可以在调用它之前放置调试消息

可能有某种特定于Lua的调试,我不知道

样品

之前:

myFunc(param1);
myFunc(param2);
myFunc(param3);
之后:

io.write("About to call myFunc the first time");
myFunc(param1);
io.write("About to call myFunc the second time");
myFunc(param2);
io.write("About to call myFunc the third time");
myFunc(param3);

显然,您可以使用更有意义的调试消息。

这里似乎已经回答了这一问题:

这里似乎已经回答了这一问题:

您可以尝试打印(debug.traceback()),这将为您提供调用它的堆栈。从那里,您可以找到调用您的函数以及它是哪一行。

您可以尝试打印(debug.traceback()),这将为您提供调用它的堆栈。从那里您可以找到调用您的函数以及它是哪一行。

正确的方法是使用调试库的getinfo,使用级别
2

line_of_caller = debug.getinfo(2,"l").currentline

正确的方法是使用调试库的getinfo,使用级别
2

line_of_caller = debug.getinfo(2,"l").currentline

顺便说一句,Lua不是首字母缩略词。你是什么意思?@John我不知道,谢谢!我将尝试提出一个代码示例。。。我认为这是不言自明的:顺便说一句,PLua不是首字母缩略词。你是什么意思?@John我不知道,谢谢!我将尝试提出一个代码示例。。。我认为这是不言自明的:P