有哪些工具可以追踪IE7的JavaScript问题?

mwa*_*ker 0 asp.net ajax internet-explorer-7

我正在尝试调试一个庞大而复杂的webapp,它大量使用DIV,AJAX,动态HTML和服务器端代码来完成它的工作.

在正常操作下我们没有问题.但是,当我们将webapp放入IFRAME时,某些功能会触发IE7中的崩溃,导致浏览器无法运行(所有CPU都使用).

有哪些工具可以帮助追踪可能发生的情况?将IE进程加载到调试器中可以获得有关寄存器的各种有趣信息,但我认为问题出在javascript中.

我们已经跟踪了一个问题,即已经涉及到错误重新定位元素的应用程序(window.代替了自己的东西document.)

我编写了一个测试IFRAME页面,将iframe的innerHTML转储到textarea中,因此可以在各种状态下进行比较,但这只能显示静态属性,我无法分辨哪种javascript事件与元素相关联或确定如果一个处理程序正在反转.

IE8,Firefox,Chrome等没有相同的行为.

理想情况下,我想要一些让我在已知良好状态下快照DOM(或javascript VM?)的东西,然后"就在它发生之前",这样我们就可以找出添加/删除/丢失/不同的内容.有什么?

更新:我现在正在尝试使用IE Developer Toolbar来跟踪它.

更新2: IE7崩溃发生在此AJAX代码之后:

function Sys$UI$Control$get_element() {
    /// <value domElement="true" locid="P:J#Sys.UI.Control.element"></value>
    if (arguments.length !== 0) throw Error.parameterCount();
    return this._element;
}
Run Code Online (Sandbox Code Playgroud)

return this._element;条线是我失去IE之前发生的最后一件事.

ank*_*nfo 6

  1. IE Developer的工具栏.在这里下载(IEDevToolBarSetup.msi).
  2. 有关JavaScript调试,请参阅此博客.