找到从哪个文件和javascript函数被调用的行

时间:2012-11-14 00:15:05

标签: javascript

使用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

它与萤火虫无关

2 个答案:

答案 0 :(得分:1)

您没有提到您正在使用的浏览器。

在Chrome中,我建议在函数的第一行插入一个断点。然后重新加载页面(或以其他方式触发函数调用)。当执行在断点处暂停时,请检查Chrome的开发人员工具中的Call Stack部分 - 它将为您提供执行流程的堆栈反向跟踪。

我确信Firebug提供了类似的东西,如果不相同的话,我使用它已经有一段时间了。

干杯

答案 1 :(得分:1)

如果您正在调试,那么不只是使用现代浏览器中内置的调试器吗?

debugger

这条线就是你所需要的。您可以检查callstack,检查变量值,甚至在当前范围内运行代码。

此类功能使您的请求变得毫无必要。