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

异常出现

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

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

异常排查

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

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

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

结论

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

时间: 2024-12-20 11:27:54

Web开发异常行为排查常用方法图文介绍_实用技巧的相关文章

关于VS2012自带的 性能分析 工具使用实例(图文介绍)_实用技巧

本篇通过一小段代码的console程序来进行性能的分析以及改进.直到后面的改进前.改进后性能比较结果. 先看console代码(源代码下载): 复制代码 代码如下: static void Main(string[] args)        {            int i = 10000;            while(i-->0)            {                Core c=new  Core();                c.Process(Dat

用vs调试sql存储过程图文介绍_实用技巧

大家有没有给存储过程找错误的经历,一遍遍的去读sql代码,发现一个小错误可能都要用很长的时间,这次介绍用vs2010调试存储过程,用起来和在vs里调试代码一样,非常爽. 首先,打开vs,点击 视图-->服务器资源管理器 选择数据连接,单击右键,点击添加连接 选择存储过程所在的服务器和数据库 选择要调试的存储过程,单击右键,选择单步调试 vs会要求输入参数值 然后进入单步调试,进入单步调试后就像调试C#或vb.net代码一样,可以监控变量值,而且如果执行的过程中涉及到触发器,还会跳入到触发器里,执

ASP.NET中Web.config文件的层次关系详细介绍_实用技巧

Web.config 是一个基于 XML 的配置文件,该文件的作用是对应用程序进行配置,比如规定客户的认证方法,基于角色的安全技术的策略,数据绑 定的方法,远程处理对象等. 可以在网站的根目录和子目录下分别建立自己的 Web.config 文件,也可以一个Web.config 文件都不建立,Web.config 并不是网站必备的文件.这是因为服务器有一个总 的配置文件,名为"Machine.config" ,默认安装在"C:\Windows\Microsoft.NET\ Fr

从请求管道深入剖析HttpModule的实现机制图文介绍_实用技巧

想要了解底层的原理必须对请求处理过程和页面的生命周期有点了解才方便您入门学习一下内容: 关于请求处理过程和页面的生命周期将会在接下来的日子为大家做一个深入的讲解. HttpModule的实现机制如下: 1.请求到达ISAPIRuntime 的时候通过ProcessReqeust(下文统称pr ) 方法创建 HttpWrokRequest 对象. 2.在执行ISAPIRuntime 的pr 方法时候,方法内部的HttpRuntime 的pr 方法根据HttpWorkRequest 对象创建了上下文

.NET Web开发之.NET MVC框架介绍_实用技巧

MVC概念 MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序.那么什么是MVC?MVC由三部分组成:Model(模型).View(视图)及Controller(控制器). Model即应用程序的数据模型.任何应用程序都离不开数据,数据可以存储在数据库中.磁盘文件中,甚至内存中.Model就是对这些数据的抽象,不论数据采取何种存储形式,应用程序总是能够通过Model来对数据进行操作,而不必关心数据的存储形式.数据实体类就是常用的一种Model.例如,一个客户管理应用程序使

Web 开发常用工具 大家自己查找下载_相关技巧

1.regex-coach --正则表达式工具 开发常用工具 大家自己查找下载_相关技巧-excel常用技巧"> 2. IECookiesView--IE的cookie查看工具 3.Flex Trace Panel --Flex开发日志观察工具 4.IE Development Toolbar --微软提供的IE开发插件 5.sIEve--javascript内存泄漏检测工具 6.HttpAnalyzer--HTTP抓包工具

ASP.NET笔记之Session、http、web开发原则、xss漏洞的详细介绍_实用技巧

1.Session 2.验证码 YZM.ashx 复制代码 代码如下: <%@ WebHandler Language="C#" Class="YZM" %> using System;using System.Web; public class YZM : IHttpHandler, System.Web.SessionState.IRequiresSessionState{     public void ProcessRequest (HttpCo

ASP.NET的实用技巧详细介绍_实用技巧

关于ASP.NET的实用技巧,其实我们已经接触到很多了.下面为大家总结一下,供大家参考. 1.跟踪页面执行 设置断点是页面调试过程中的常用手段,除此之外,还可以通过查看页面的跟踪信息进行错误排查以及性能优化.ASP.NET中启用页面跟踪非常方便,只需在Page指令中加入Trace="True"属性即可: <%@ Page Language="C#" Trace="true"> 跟踪信息可以分为两类: a.页面执行详细情况 其中主要包括

ASP.NET过滤器的应用方法介绍_实用技巧

在J2EE Web开发中有过滤器filter,该filter可以对指定的URL访问进行拦截,并执行过滤器的方法,根据实际应用情况,在过滤器中修改请求的代码.判断会话信息,也可以做权限控制,总之这个过滤器是非常有意义的,也可以说是责任链设计模式在J2EE中的一个应用.   那么在ASP.NET中是否也可以定义这样的过滤器结构,并在过滤器中进行相应的逻辑操作呢?答案是肯定,本文将告诉你如果编写一个过滤器,又如何配置到IIS的Web应用之中. 过程一:如何编写过滤器   编写过滤器,其实就是编写一个过