Windows 7
Firefox 10.0.1
我有一个简单的setTimeout逻辑,我想使用Firebug调试器测试几个断点。Firebug调试器忽略setTimeout?如何测试它?
test.js
console.log("one");
setTimeout(function(){ console.log("hmm"); }, 5000);
console.log("two"); //breakpoint here
console.log("three");
的test.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script type="text/javascript" src="../js/test.js" ></script>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
使用Firebug debugger
,我把断点在注释行(其中的console.log( “二”)) 当我加载html页面我得到输出:
one
并且进程按照预期在断点处暂停,但是setTimeout永远不会执行。
这是萤火虫调试器的错误?有没有人见过这个?
UPDATE:
我研究多一点,结果发现:
如果在调试模式下点击“继续”和5000毫秒内经历断点(这是指定时间的setTimeout),在“嗯“的味精出现。
如果你在断点停止超过5000ms,那么即使在“继续”按钮后,“hmm”msg也不会显示出来。
如果你把脚本元素,在机身底部发生了什么? – madr 2012-03-23 07:03:37
这是完全有效的超时行为。如果你在调试器中的任何一点中断,在你继续之前什么都不会执行 - 超时包括 – 2012-03-23 07:26:05
@madr:没什么不同。在“断点”继续之后,输出是“一二三”,就这些了。 – 2012-03-23 07:26:56