【问题标题】:How can I debug an IE8 crash?如何调试 IE8 崩溃?
【发布时间】:2010-08-16 10:29:57
【问题描述】:

有没有调试IE8崩溃原因的好方法?我们有一个简单的 AJAX 功能的网站:

  • 带有对应按钮的文本框,onclick事件触发JS事件。
  • JS 事件调用 .NET 服务(代码如下)

代码在兼容模式下运行的 FF、Chrome、Opera、Safari、IE7、IE8 中运行良好。但是在标准模式下运行 IE8 会导致窗口崩溃/恢复。没有错误(在崩溃之前或之后),并且使用开发人员工具栏似乎一切都已正确加载。

我已经恢复使用基本的 msgbox 来计算浏览器崩溃的时间点,它似乎是在服务调用上或之后:

Service.CallService(params, onServiceSuccess, onServiceError);

<asp:ScriptManager ID="scriptMgr" runat="server"> 
    <Services>
        <asp:ServiceReference Path="<somepath>/Service.asmx" InlineScript="false" />
    </Services>
</asp:ScriptManager>

服务很简单,它只是返回一个字符串[]。

最终,我正在寻找一种工具,可以让我简单地捕获异常并找出问题所在。我的猜测是我一定是在做一些不合规的事情,但理想情况下,我想要一个工具,可以让我快速诊断问题,而无需再回到猜谜游戏。

非常感谢任何提示

编辑

一些进展,使用下面推荐的JS调试器我可以看到服务返回,并成功运行OnServiceSuccess调用。这个调用做的不多,它使用了一些 JQuery 来隐藏一些表单元素:

$('.row').filter(':not(selector)').hide();

使用调试器进一步跟踪,然后将我们带入框架代码,我可以看到我们正确地处理了 XmlHttp 对象.....然后在它退出函数后(调用堆栈中的最后一个)......然后它崩溃了。

去谷歌我去....

谢谢

【问题讨论】:

    标签: debugging internet-explorer-8 crash


    【解决方案1】:

    【讨论】:

    • 谢谢 - 这很酷,并且帮助了一点......但我不认为问题是 JS 问题(因为它在其他浏览器中运行)。这很有帮助,因为它向我确认服务调用运行完成,并执行成功功能......然后崩溃。我真正需要知道的是 IE8 遇到了什么无法处理的问题 :( 我将在上面的原始帖子中发布运行的 JS
    【解决方案2】:

    对于那些仍然来看这个答案的人来说,我们最近在 IE9 中遇到了类似的问题。

    我不确定 IE8 的行为是否仍然像这样发生,但调试 IE 崩溃似乎确实很难(即当浏览器在 javascript 执行完成后崩溃时)。

    在我们的例子中,我们必须为 IE9 隐藏某些行编写一个解决方法:

    if ($.browser.msie && parseInt($.browser.version, 10) >= 9)
    {
        showRow = function(row) { row.css('visibility', ''); };
        hideRow = function(row) { row.css('visibility', 'collapse'); };
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 2015-12-30
      • 2017-02-22
      • 1970-01-01
      • 1970-01-01
      • 2019-08-26
      相关资源
      最近更新 更多