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