Web开发异常行为排查常用方法图文介绍

 更新时间:2012年11月23日 11:19:20   作者:  
平常程序遇到错误,开发环境下一般都用调试搞定,生产环境下通过查看日志搞定。但也有搞不定的时候,本文提供了详细的解决方案
异常出现

平常程序遇到错误,开发环境下一般都用调试搞定,生产环境下通过查看日志搞定。但也有搞不定的时候,这是我在Silverlight开发时遇到的的错误:

如果启用调试,"对不起,程序已经崩溃,无法附加到进程"。怎么办?提示信息太少,盲目怀疑程序哪里写的不对,只会使问题变得更糟,拖延了解决问题的时间。

异常排查

此时我们应该查看是哪一个请求引起的错误,方法就是使用浏览器的开发者工具:IE8以上按f12,chrome按下ctrl+shift+I,转到“网路”,开始捕捉:

这里我们得到的是一个500错误,知道了是请求.svc时出错了。双击查看响应正文或者直接复制请求url到浏览器访问可以得到更详细的出错信息:

我们看到调用堆栈还没有开始调用我们的代码,和我们自己的代码没有关系。此时去google(程序猿果断放弃baidu吧),没有找到任何解决问题的方法。我们只能根据自己程序的实际情况,判断是DomainService出的问题。因为平时按部就班写的程序根本不出现这种错误,但这次是引用的类库中的DomainService,所以一定是漏掉了什么dll导致的。最偷懒的解决方法:手动添加一个“域服务类”到工程,VS自动添加所需dll,并配置好了web.config。再次运行,问题解决了。

结论

最怕遇到这种错误提示很少的的错误,因为莫名其妙,无从查起,让人抓狂。有时一个错误一下午就浪费过去了,还不一定解决。方法还是具体问题具体分析,根据程序的实际情况,结合自己的成功经验,多google,一定能解决的。当然如果自己解决了又google不到的最好发到cnblogs,作为前车之鉴服务大家,这也是写技术博的猿最愿意做的事吧。

相关文章

  • .NET Core系列之MemoryCache 缓存域

    .NET Core系列之MemoryCache 缓存域

    这篇文章主要介绍了.NET Core系列之MemoryCache 缓存域,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Asp.net禁用页面缓存的方法总结

    Asp.net禁用页面缓存的方法总结

    这篇文章主要介绍了Asp.net禁用页面缓存的方法,需要的朋友可以参考下
    2014-02-02
  • asp.net各种cookie代码和解析实例

    asp.net各种cookie代码和解析实例

    这篇文章主要介绍了asp.net各种cookie代码和解析实例,需要的朋友可以参考下
    2014-02-02
  • asp.net类序列化生成xml文件实例详解

    asp.net类序列化生成xml文件实例详解

    这篇文章主要介绍了asp.net类序列化生成xml文件的方法,结合实例形式较为详细的分析了asp.net序列化生成xml文件的具体步骤与相关实现技巧,需要的朋友可以参考下
    2015-11-11
  • asp.net中资源文件的使用

    asp.net中资源文件的使用

    .Net是一个丰富的平台,在它的结构中,程序集Assembly是自我描述的安装单元,它可以只包括一个PE(可移植可执行)格式的Dll或exe文件,也可以由多个文件组成,例如资源、Dll和exe等
    2011-12-12
  • 深入理解Asp.Net中WebForm的生命周期

    深入理解Asp.Net中WebForm的生命周期

    这篇文章主要给大家介绍了关于Asp.Net中WebForm生命周期的相关资料,文中介绍的非常星系,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • 使用ASP.NET MVC 4 Async Action+jQuery实现消息通知机制的实现代码

    使用ASP.NET MVC 4 Async Action+jQuery实现消息通知机制的实现代

    这两天在使用Asp.net MVC 4开发COMET消息通知机制,在后端使用异步线程对消息进行订阅,客户端通过AJAX长连接请求MVC中的ACTION
    2013-02-02
  • ASP.NET动态添加控件一例

    ASP.NET动态添加控件一例

    本例需求来自CSDN论坛,有人问:3个DropDownList和1个按钮,每次单击按钮动态创建3个Label控件并从DropDownList获得值,然后添加到页面
    2012-01-01
  • 区分ASP.NET中get方法和post方法

    区分ASP.NET中get方法和post方法

    我们都知道,get是从服务器上获取数据,post是向服务器上传数据。本文主要介绍ASP.NET中get方法和post方法的区别,需要的朋友可以参考下
    2015-10-10
  • 在阿里云函数计算上部署.NET Core 3.1的方法

    在阿里云函数计算上部署.NET Core 3.1的方法

    这篇文章主要介绍了在阿里云函数计算上部署.NET Core 3.1的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论