0

在使用此问题中的功能进行调试后,我想知道是否有办法获取调用该函数的文件名,并且可能是该行。

可能是我要求太多,但我知道在某些语言中这是可能的。

如果这是不可能的,任何人都可以提及为什么他的功能没有实现?

我会尝试改写这个问题,因为我认为我没有说清楚。

我有 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

与萤火虫无关

4

2 回答 2

1

你没有提到你使用的是什么浏览器。

在 Chrome 中,我建议在函数的第一行插入一个断点。然后重新加载页面(或以其他方式触发函数调用)。当执行在断点处暂停时,检查Call StackChrome 的开发者工具中的部分——它会给你一个执行流程的堆栈回溯。

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

干杯

于 2012-11-14T00:18:09.940 回答
1

如果你所做的只是调试,为什么不使用现代浏览器内置的调试器呢?

debugger

那条线就是你所需要的。您可以检查调用堆栈、检查变量值,甚至可以在当前范围内运行代码。

这样的功能使您的请求变得不必要。

于 2012-11-14T00:19:24.657 回答