使用this question中的功能进行调试后,我想知道是否有办法获取调用该函数的文件名,可能就是该行。
可能是我要求的太多,但我知道在一些语言中它是可能的。
如果无法做到这一点,任何人都可以提及为什么他的功能没有实现?
我会尝试重新解释这个问题,因为我认为我没有说清楚。
我有file.js,其中第17行有一个函数声明:
...
function main()
{
Hello();
}
我有另一个文件test.js,我定义了函数hello
function Hello()
{
...
which tells me the name of the file and a line in which the function which evoked it was defined
}
例如,如果我打电话
main()
,它会告诉我file.js, 17 line
它与萤火虫无关
答案 0 :(得分:1)
您没有提到您正在使用的浏览器。
在Chrome中,我建议在函数的第一行插入一个断点。然后重新加载页面(或以其他方式触发函数调用)。当执行在断点处暂停时,请检查Chrome的开发人员工具中的Call Stack
部分 - 它将为您提供执行流程的堆栈反向跟踪。
我确信Firebug提供了类似的东西,如果不相同的话,我使用它已经有一段时间了。
干杯
答案 1 :(得分:1)
如果您正在调试,那么不只是使用现代浏览器中内置的调试器吗?
debugger
这条线就是你所需要的。您可以检查callstack,检查变量值,甚至在当前范围内运行代码。
此类功能使您的请求变得毫无必要。