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

异常出现

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

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

异常排查

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

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

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

结论

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

(0)

相关推荐

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

    异常出现 平常程序遇到错误,开发环境下一般都用调试搞定,生产环境下通过查看日志搞定.但也有搞不定的时候,这是我在Silverlight开发时遇到的的错误: 如果启用调试,"对不起,程序已经崩溃,无法附加到进程".怎么办?提示信息太少,盲目怀疑程序哪里写的不对,只会使问题变得更糟,拖延了解决问题的时间. 异常排查 此时我们应该查看是哪一个请求引起的错误,方法就是使用浏览器的开发者工具:IE8以上按f12,chrome按下ctrl+shift+I,转到"网路",开始捕捉

  • 8086汇编开发环境搭建和Debug模式介绍(图文详解)

    1. 8086汇编开发环境搭建 在上篇博客中简单的介绍了8086汇编语言.工欲善其事,必先利其器,在8086汇编语言正式开始学习之前,先介绍一下如何搭建8086汇编的开发环境. 汇编语言设计之初是用于在没有操作系统的裸机上直接操作硬件的,但对于大部分人来说,在8086裸机上直接进行编程将会面临各种困难.好在我们可以使用软件模拟器来模拟硬件进行8086的学习实践.在<汇编语言>中作者推荐通过windows环境下的masm和debug进行学习. masm介绍: masm是一款DOS下的汇编工具包,

  • 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 (HttpContex

  • web开发人员学习jQuery的6大理由及jQuery的优势介绍

    jQuery是一个用来简化HTML客户端开发的JS(JavaScrip)库,它支持HTML DOM处理,同时还融合了部分HTML和CSS.许多网站建设公司已经加入了jQuery的阵营,你的公司也该加入了. 下面就来看看jQuery为何对公司有如此大的影响吧. 1.jQuery简化了工作 学习jQuery非常容易--毕竟这个函数库由更简短.更简洁的代码创建.jQuery具有语句简洁.编码标准开放的特点,这些特点帮助开发者缩短了配置网站和应用所需的时间. 另外,使用jQuery创建web页面时,不要

  • Java Web开发入门书籍实例解析(总结一)

    从事Java Web开发这一段时间来,对Java 面向对象的思想和MVC开发模式可以说已经熟悉了.我当前参与的项目使用的框架是Spring.SpringMVC.Hibernate.下面我们小编给大家整理一篇教程帮助大家学习javaweb相关知识,感兴趣的朋友可以参考下. 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 1.静态web资源(如html 页面):指w

  • spring4新特性之web开发增强

    从Spring4开始,Spring以Servlet3为进行开发,如果用Spring MVC 测试框架的话需要指定Servlet3兼容的jar包(因为其Mock的对象都是基于Servlet3的).另外为了方便Rest开发,通过新的@RestController指定在控制器上,这样就不需要在每个@RequestMapping方法上加 @ResponseBody了.而且添加了一个AsyncRestTemplate ,支持REST客户端的异步无阻塞支持. 1.@RestController Java代码

  • ajax与传统web开发的异同点

    AJAX: 什么是AJAX AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScript和XML(标准通用标记语言的子集). AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换 AJAX 可以使网页实现异步更新,意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. AJAX的特点 基于Web标准,使用文档对象模

  • 使用IDEA创建Java Web项目并部署访问的图文教程

    idea (java语言开发的集成环境) IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.Ant.JUnit.CVS整合.代码审查. 创新的GUI设计等方面的功能可以说是超常的.IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主. idea基本概念给大家普及完了,大家开始看正

  • Python 开发工具PyCharm安装教程图文详解(新手必看)

    PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrains之手. 同时支持Google App Engine,PyCharm支持IronPython.这些功能在先进代码分析程序的支持下,使 PyCharm 成为 Python 专业开发人员和刚起步人员使用的有力工具. PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳

  • 详解Swoole跟传统的web开发的区别

    一.swoole的运行模式 1.1.传统web开发模式 PHP web开发采用的方式是LAMP/LNMP架构,即Linux.Nginx,Mysql和PHP.这里以nginx来举例,大致结构为: 当请求进入时,web server将请求转交给PHP-FPM,PHP-FPM是一个进程池架构的FastCGI服务,内置PHP解释器.FPM负责解释执行PHP文件生成响应,最终返回给web server,展现至前端.PHP文件中实现了许多业务逻辑,包括Mysql和Nosql的访问,调用第三方应用等等. 这样

随机推荐