是否有可能找到调用指定函数的行?
答案 0 :(得分:4)
这似乎已在这里得到解答:current line number in Lua
答案 1 :(得分:0)
不是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);
显然,您可以使用比这更有意义的调试消息。
答案 2 :(得分:0)
你可以尝试print(debug.traceback())
,这会给你堆栈到你调用的位置。从那里你可以找到调用你的函数以及它是什么行。
答案 3 :(得分:0)
正确的方法是使用调试库的getinfo,使用级别2
:
line_of_caller = debug.getinfo(2,"l").currentline