代码之家  ›  专栏  ›  技术社区  ›  Moo

追踪神秘的错误

  •  0
  • Moo  · 技术社区  · 14 年前

    我有一个相当复杂的传统ASP.Net应用程序正在不断开发中,对于一个客户端来说,它最近开始出错。

    该应用程序在服务器端使用ASP.Net 3.5和C,由SQL server 2005和IIS6支持。

    该应用程序还使用Microsoft ASP.net AJAX库和DevExpress组件。

    我们有一个相当全面的日志平台,通过自定义页面库中的页面错误处理程序,它记录所有未处理的异常并显示一个漂亮的错误页面。

    问题是,有一个客户端最近开始出现我们无法跟踪的错误-尽管显示了漂亮的错误页面,但没有记录任何错误。页面错误处理程序不会捕获和处理异常,它是将用户重定向到错误页面的方法,如果不处理错误,则不会发生重定向。

    我在ASP.Net Ajax页面脚本管理器EndRequestHandler的Javascript处理程序中添加了一些客户端Javascript,它将客户端错误记录到一个大范围打开的ashx日志脚本中。

    客户端捕获的唯一错误如下:

    Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 0
    
    
    Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.
    Details: Error parsing near '
    <!DOCTYPE html P'.
    

    这些错误没有相应的服务器端错误。

    不幸的是,没有为这个项目设置单元测试的范围,它太大了,我不知道从哪里开始客户端-服务器交互部分。

    我的问题是,有人能推荐一种方法来查看什么是错误,为什么是错误,为什么页面错误处理程序没有捕捉到这个错误?

    2 回复  |  直到 14 年前
        1
  •  0
  •   hgcummings    14 年前

    你可以试着用 ELMAH 捕获应用程序中未处理的异常。

        2
  •  0
  •   Moo    12 年前

    事实证明,没有办法跟踪这些问题-问题的范围更广,涉及到客户端防火墙随机阻止AJAX通信,或修改结果的回传。