我在一个大型项目中工作,这个项目已经开发了好几年,而且代码很多。最近无法提醒的警报开始出现。它只是说Undefined。我需要找到此警报的来源。是否有机会制作类似"断点警报"?我想看看这个警报的来源。 一种可能性是重新定义警报功能。我尝试在Firefox中制作它没有任何成功。
答案 0 :(得分:7)
我会在代码的开头重新定义window.alert以进行此类开发。
window.alert = function(e){ console.warn( "Alerted: " + e ); }
这肯定会给你一个行号。 (在chrome控制台上测试)
答案 1 :(得分:2)
这是一个古老的问题,但是我想我会提供一个更简单的解决方案。 Chrome中找到源的一种非常简单的方法是在window.alert控制台中放置一个调试程序:
debug(window.alert)
这将在警报中断时将您带到源头。通常,每当调用函数fname时,使用带有debug(fname)的控制台都会中断。
答案 2 :(得分:0)
作为Vsevolod方法的延续,例如在Firefox中的FireBug中,您可以在每个alert()上放置一个条件断点,并查看哪个触发,然后上升FireBug显示的callstack 。 条件可以是" typeof whatever_variable_is_displayed ==' undefined'"。