在Internet Explorer中调试JavaScript

在Internet Explorer中调试JavaScript,javascript,internet-explorer,Javascript,Internet Explorer,我正在一个相对复杂的JavaScript驱动的网站上工作。它在除Internet Explorer之外的所有浏览器中都运行良好(7,这个特定版本是我们的公司标准)。我发现了一个非常奇怪的错误: “发生运行时错误。是否要调试?行:93865600。错误:应为';” 问题是,我没有9300万行代码,单击“是”不会像通常那样附加到VisualStudio 我可以单击“否”,网站继续正常运行,但如果用户没有禁用JavaScript调试,我不希望他们看到这个毫无意义的错误 建议/工具/插件,以了解这一点

我正在一个相对复杂的JavaScript驱动的网站上工作。它在除Internet Explorer之外的所有浏览器中都运行良好(7,这个特定版本是我们的公司标准)。我发现了一个非常奇怪的错误:

“发生运行时错误。是否要调试?行:93865600。错误:应为';”

问题是,我没有9300万行代码,单击“是”不会像通常那样附加到VisualStudio

我可以单击“否”,网站继续正常运行,但如果用户没有禁用JavaScript调试,我不希望他们看到这个毫无意义的错误

建议/工具/插件,以了解这一点

是的,我吸取了教训,更频繁地在Internet Explorer中切换和检查我的项目


谢谢,

这里有一些我在IE上使用的调试工具

在IE中,让它对“选项”下遇到的每一个错误发出尖叫。如果有相关说明,您还可以阅读幻灯片中的非常有用的调试提示


这样可以更好地了解错误发生的位置。如果这不起作用,您可能希望尝试通过不包含部分来分解脚本,以查看哪些部分或哪个特定的JS脚本文件给您带来了问题。

我还将使用Fiddler2查看提供给浏览器的确切文件。服务器上可能有代码在发送文件之前对其进行调整。使用Fiddler,您可以看到浏览器正在接收的内容


还要确保您使用的是IE8,因为它内置了开发者工具栏。如果不是IE8,请下载IE开发者工具栏,正如“bron”所说。

严格来说,它不是一个调试工具,但如果Ajax DynaTrace帮助您追踪这种奇怪之处,我也不会感到惊讶


另外,通过JSLint运行代码。错误消息听起来像是你有一些浏览器可以容忍的微妙语法错误。

这仍然是我迄今为止在IE上最好的Javascript调试器:

仍然比IE8中的开发者工具栏好很多


Totti

你使用的是缩小的框架吗?我会继续,让代码达到9400万行,以赶上IE7。我们还没有缩小任何东西。所以它在IE6和IE8中运行良好?在兼容模式下IE8如何?它还没有在IE6和IE8上进行测试。使用IE8时,请确保启用脚本调试。然后,您可以直接在IE内部进行调试,而无需连接到Visual Studio。不幸的是,我使用的是IE7,因为这是应用程序用户将拥有的。由于当前浏览器的原因,没有任何机制会导致交付不同的脚本。在发布此消息之前,我确实看到了该页面,并确保未选中这些复选框,并尝试了MS Script Debugger,但运气不佳。IE开发者工具栏似乎没有给我提供任何有用的工具来跟踪这一点,Firebug Lite有一个奇怪的副作用,就是抑制错误……Dynatrace在JSON-P调用后帮助我跟踪到一些JQuery代码:head.insertBefore(script,head.firstChild);我知道这在IE7中是一个非常脆弱的调用,如果任何HTML无效。。。这是一个很好的开始,谢谢你的帮助!很高兴听到你在进步。