寻找一个被称为的行。

可能是重复问题:

在 Lua 中获取当前行号

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

原文链接 https://stackoverflow.com/questions/5519839

点赞
stackoverflow用户330057
stackoverflow用户330057

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

我不知道是否有某种仅适用于Lua的调试方法。

示例

之前:

myFunc(param1);
myFunc(param2);
myFunc(param3);

之后:

io.write("即将第一次调用myFunc");
myFunc(param1);
io.write("即将第二次调用myFunc");
myFunc(param2);
io.write("即将第三次调用myFunc");
myFunc(param3);

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

2011-04-01 23:17:44
stackoverflow用户686668
stackoverflow用户686668

这个问题似乎已经在这里得到了解答:在 Lua 中获取当前行号

2011-04-01 23:20:15
stackoverflow用户151501
stackoverflow用户151501

你可以尝试使用 print(debug.traceback()),这将给你调用它的堆栈。从那里你可以找到调用你的函数以及它被调用的行。

2011-04-03 11:36:34
stackoverflow用户282536
stackoverflow用户282536

正确的方法是使用 debug 库的 getinfo,使用 level 2:

line_of_caller = debug.getinfo(2,"l").currentline
2011-04-03 12:41:28