添加函数调用侦听Javascript以进行调试

时间:2014-03-27 11:52:16

标签: javascript debugging reflection

所以我有了一个想法,但需要一些帮助才能让它真正起作用。 或者也许这是不可能和愚蠢的,在这种情况下让我知道原因。

这个想法是让程序员能够做到这一点:

lookfor('alert');

运行此行代码后,每当调用alert函数时,控制台都会记录一个回溯。在大型(组)项目中也是这样,因此更容易找到触发javascript代码的位置。

所以我想问题是在不知道其内容的情况下修改函数,而不是完全覆盖它们。我觉得这对于用户定义的函数是可能的,而不是内置在alert()之类的函数中。我对用户定义函数的第一个想法是这样的:

function lookfor(func_name)
{
    var override = window[func_name].toString();

    override = override.replace(/(.*?){(.*?)}/, 'printBacktrace(); $2');

    window[func_name] = new Function(override);
}

虽然它可能只适用于全球功能。有什么想法吗?

0 个答案:

没有答案