找到一个被调用的行

时间:2011-04-01 23:14:28

标签: lua

  

可能重复:
  current line number in Lua

是否有可能找到调用指定函数的行?

4 个答案:

答案 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