【发布时间】:2011-04-03 20:41:28
【问题描述】:
【问题讨论】:
标签: lua
【问题讨论】:
标签: lua
这里似乎已经回答了这个问题:current line number in Lua
【讨论】:
不是 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);
显然,您可以使用比这更有意义的调试消息。
【讨论】:
您可以尝试print(debug.traceback()),这将为您提供调用它的堆栈。从那里你可以找到调用你的函数以及它是哪一行。
【讨论】:
正确的方法是使用调试库的getinfo,使用级别2:
line_of_caller = debug.getinfo(2,"l").currentline
【讨论】: