如何调试.net错误,其中消息在Ajax调用中被屏蔽

时间:2010-06-01 11:19:33

标签: .net javascript ajax

我目前正在开发一个使用MS Ajax UpdatePanel的页面。但是我遇到了一个奇怪的问题。如果我只是编译和查看我的页面,其中一个按钮单击事件会导致错误。但是,因为按钮会影响UpdatePanel中的项目,所以实际的异常对我来说是隐藏的:我得到的是通过UpdatePanel Javascript返回给我的HTTP 500错误。

这有点奇怪的是,如果我在Visual Studio中逐行执行代码,我就不会收到错误。该按钮不会导致我期望的行为,但它不会引发任何错误。

因为单步执行不会导致抛出错误,所以我不知道如何获取实际的异常消息,以便我可以找出抛出错误的位置并对其进行调试。感谢收到的建议。

干杯, 马特

2 个答案:

答案 0 :(得分:0)

在web.config中启用自定义错误,该错误应该在响应中输出堆栈跟踪和异常信息:

<configuration>
 <system.web>
  ...
  <customErrors mode="On" />
  ...
 </system.web>
</configuration>

请记住在部署到生产时关闭错误,以便在出现错误时向用户隐藏实施细节。

答案 1 :(得分:0)

您仍然可以使用firebug查看http响应的正文(请参阅网络选项卡)。或者你可以禁用javascript,你的页面将工作javascript(ajax)少...

firebug Web developer toolbar to disable/enable js easily