如何在IE8中调试堆栈溢出错误

5

在我的应用程序中,我在IE8(IE7标准文档模式)中遇到了以下错误:

它显示:

SCRIPT2343: Stack overflow at line: 1 
SCRIPT28: Out of stack space 
jquery-min.js, line 1 character 30159

我在Firefox和Chrome中没有遇到这些错误。

由于我的应用程序代码非常庞大,我无法理解如何在IE中进行精确定位的调试。IE所说的jquery-min.js是实际原因还是可能并非问题所在?

我能否使用开发人员工具栏来调试此堆栈溢出问题?还是有其他方法可以进行调试?


你的代码使用了bootbox.js库吗? - Aneesh Mohan
不是,它使用的是bootstrap.js... - copenndthagen
可能是这个问题...但就像我说的...我不知道问题出在哪里...现在唯一的线索是,当模态div(使用bootstrap)加载时,我会收到错误信息...当我在页面上单击任何位置时,我也会看到相同的堆栈溢出错误...那么这是否意味着问题可能与单击事件有关(一旦模态div已加载)? - copenndthagen
那是我遇到的问题。但主要是在使用模态确认时出现了问题。我认为这些问题是相关的,使用最新版本的Bootstrap将解决这个问题。 - Aneesh Mohan
嗯...所以你也遇到了IE8的问题...并且通过使用最新的bootstrap js“仅仅”解决了它...Bootstrap有某种已知的问题吗? - copenndthagen
显示剩余5条评论
1个回答

3
你可以使用IE开发者工具来调试脚本,只需按F12激活开发者工具。IE还配备了内置的开发者工具,类似于Google Chrome(用户体验没有那么友好),但您仍然可以使用它来调试脚本并监视调用堆栈。像其他调试器中使用的一样,使用debugger;
使用Visual Studio可以更好地控制脚本调试。如果你是一个.NET开发人员,你可以使用VS本身来调试JavaScript。 在这里查找更多信息

非常感谢您的回复。只有一个问题,您说“像其他调试器一样使用debugger;”。您能否详细说明如何使用它? - copenndthagen
1
如果您在脚本代码中使用debugger;语句,浏览器开发者工具将会在该位置暂停脚本执行,使我们能够调试该时刻的值和调用堆栈,并且可以逐行执行代码。我假设您已经熟悉这个功能,因为您之前提到过使用Firebug进行脚本调试。 - Aneesh Mohan
是的,我以前用过Firebug...但是在使用Firebug调试时,我会在代码中添加断点...所以我认为这与那样做类似... - copenndthagen
是的,类似于那样。但是在这里,我们在编码时添加断点。这是唯一的区别。 - Aneesh Mohan
哦,太棒了...谢谢你提供的信息,也感谢你在引导问题上提供的杰出帮助...我现在实际上导致堆栈溢出错误的原因似乎是与引导js(特别是enforceFocus方法)有关...再次感谢... - copenndthagen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接