asp.net调试之三板斧

用过ASP的人对他的调试应该是记忆深刻的。在整片整片的代码中找到那几个
出错的地方,难度可想而知。目前微软推出了ASP的更新换代产品ASP.Net。对于
ASP.Net的好处,我想非常多网站都已介绍了差不多的,不过对于ASP.Net的调试
讲得就不是非常多了。所以,我就以我的一点个人经验写了这一篇文章。由于,我
也是接触ASP.Net不久,错漏之处在所难免,还请大家多多指正。好了,言归正传。

第一招:设置Config.web

    一般,当我们写好的网页运行出错了,ASP.Net就会在页面上告诉我们程式有
错了,但究竟错在哪里,他是没有提示的。为了能让ASP.Net进一步提示我们出错
的信息。我们就有必要编辑Config.web中的设置信息。

    可能更有非常多刚刚接触ASP.Net的人不太了解Config.web这个文件。那我就顺便介绍一下。Config.web是ASP.Net的一个设置文件,他里面存放着关于ASP.Net的所有设置信息。当执行一个ASP.Net页面时,他会先到该页面所在的目录查找这个文件,如果没有找到,就往上一级目录找,一直到wwwroot目录。如果都没有,他就会调用X:\WINNT\Microsoft.NET\Framework\v1.0.2204目录中的Config.web文件(X为系统目录)。所以,如果大家要想改动所有页面的设置,就应该改WINNT目录中的那个Config.web。另外顺便说一下,当你打开Config.web后,你会发现这是个XML结构的设置文件。

    好了,介绍解说这么多了,回到我们的主题。目前你要做的第一步就是:打
开或新建一个Config.web文件。我们分开来说:
如果是新建,你就需要用文本编辑器新建一个新的文件,然后往里面输入下
面的语句:
<configuration>
<customerrors mode="off"></customerrors>
</configuration>

    输完后选择另存为,输入文件名Config.web,将他保存到当前页面相同的目录中即可。如果是修改一个已存在的Config.web文件,你只需要用文本编辑器打开他,然后在<configuration>和</configuration>之间的任意地方输入:
<customerrors mode="off"></customerrors>即可。

    目前你能在看一下出错页面的提示信息了。怎么样,不相同了吧!好,这
第一招就讲到这,有什么问题欢迎和我联系,我们下次再见! 

上一次我们说到设置Config.web文件,让出错信息给出更多的提示。可光有
提示又有什么用呢?“最多就是知道错在哪里,可我还是不会改呀!”别急,别
急,看看咱们这篇文章叫什么来着,“三板斧”,那当然是一斧赛过一斧啦!上
次那招不够厉害,我们更有下面的那,所以别急啊,且听我慢慢道来。

第二招:Trace追踪

    用过ASP的人应该都用过下面的语句吧:
    Response.Write XXX
    Response.End

    虽然我不太喜欢ASP的编程方法,不过这种方便的调试手段还是非常好的。换用
ASP.Net以后,我发现ASP.Net提供一种更强大的调试方法,他就是我们目前要说
的Trace。所谓Trace功能就是在网页的最前面加上一些标记,至于是什么标记呢?嘿嘿,我不能马上告诉你(不好,臭鸡蛋……哇!)。我是说,我要先介绍一点基础的知识啦!

    我不知道大家对ASP.Net的页面标示了解多少,为了下面讲解的方便,我还是
概要的介绍一下吧!ASP.Net的页面标示指的是在每一个ASP.Net页面最上面,用
<%@和%>括起来的语句。他的功能是用来确定在处理ASP.Net文件的时候,需要系
统做一些什么特别的设定。具体的语法如下:
<%@ directive attribute=value %>
其中:directive就是页面标示符;attribute是该标示符对应的一些属性。
注意:在属性之间需要空格,而在"="之间不能有空格。
ASP.Net目前包含以下7种标识
@ Page,
@ Control,
@ Import,
@ Registe,
@ Assembly,
@ OutputCache,
@ Webservice

    我们用得最多的就是@ Page标示,而目前我要讲的Trace功能,也要用到@ Page。(关于这七个标示的具体应用,我会在以后发贴讲述的。)好了,回到我们的主题。要用Trace功能,你必须在页面的最上面加上:<%@ Page Trace="true" %> 这句话。加好后,你就能看看页面的运行情况了。运行该页面。你会发目前页面的下半部分出现了一大堆的数据。下面就来解释一下这些数据的含义:
Request Details:通过Request方式向浏览器所读取的数据;
Trace Information:事件发生或程式执行的过程信息;
Control Tree:网页所使用的控件及控件之间的阶层关系;
Cookies Collection:网页所使用的Cookie信息;
Headers Collection:浏览器的表头信息。
Server Variables:Server变量的数据信息。

    有了这一大堆数据,我们的工作就好做多了,但且慢欢喜,Trace还提供了更强大的功能,请接着看下去。
    
    除了让ASP.Net页面显示这一堆数据外,我们还能将程式中用到的变量的
值实时的显示在Trace Information区段中,其方法是调用Trace.Warn或Trace.Write两个方法。他们的用法如下:
Trace.Warn("Description",Variables);
Trace.Write("Description",Variables);

    我想你们一定会问,这两个有什么差别呢?回答是:在功能上,这两个是一模相同的,只是在显示上,Trace.Warn将会以红色字体表示。

    好了,不知道这样介绍一下大家感觉怎么样?反正我是好累啊!好了不说了,有什么问题提吧,我会尽量做答的。让我们下次再见!
    前面介绍的两招功夫都是赤手空拳的较量,可能你会觉得打得不过瘾,咱能
不能挑件别的兵器什么的耍耍呢?既然是大家的需要,我又怎么能不满足呢?不
过,说起来还是的感谢盖茨大爷,要不我就没的耍了!
好了,下面就是

第三招 查错神器Debugger

    要用好的兵器,没点准备是不行的,所以我们就先来做点准备运动。
    1.Config.web的设定:还记得第一招中讲的吗?对了,还是这个文件,打开他,向里面加入这条语句
    <compilation debugmode="true"></compilation>
    说明:由于在预设情况下,ASP.Net会以正常模式来运行页面,为了能让他以查错模式编译网页,我们就必须加入这句语句。

    2.启动查错工具DbgUrt.exe:这个程式放在x:\Program Files\Microsoft.Net\FrameworkSDK\GuiDebug目录里,文件名是DbgUrt.exe

    3.激活查错功能:
    运行DbgUrt.exe程式
    --〉选取菜单Debug/Processes
    --〉在出现的Processes对话框中选中Show system processes和Show processes in all sessions
    --〉在Available processes列表框的最下面找到xspwp.exe(如果没有,请运行一.aspx页面,然后按Refresh键。)
    --〉选取该文件后,按Attach键
    --〉在出现的对话框中选中Common Language Runtime,然后按OK,回到Processes对话框
    --〉按Close键
    --〉在程式的主菜单中选取File/Open/File,打开你想要检测的文件。

    下面正式开始页面调试。
    利用DbgUrt.exe打开欲调试的文件后,我们要做的第一件事情就是:设置断
点。是不是觉得和其他视窗系统应用程式的调试非常像(什么非常像?简直就是一模
相同吗!)加断点的方法非常简单,先决定需要加断点的地方,然后将光标移动到
该行,按下F9或在该行的最前面点击鼠标左键,该句前面就会出现一个问号的
标记,这就是断点!我们当然能设定多个断点,只要你喜欢。你要是像取消一
个断点,只需在该行重复设置断点的动作即可。

    设置好断点后,只要使用浏览器浏览被调试的页面,当程式运行到断点的位
置时,他就会自动弹出DbgUrt.exe,并且停在刚才的断点位置。这是,我们就可
以利用Command Window-Immediate窗口检查变量的值了。

    当我们想继续执行当前页面时,我们有几种选择:
    1、按F5键,运行到下一个断点,若没有断点,则运行完该页面;
    2、按F11键,执行单步操作;
    3、按F10键,同样是单步操作,但他会进入子程式(函数)中的语句。

    当然,DbgUrt.exe的功能肯定比我介绍的要强大的多。编写ASP.Net程式,有个这样的利器,真是省了我们非常多时间啊!怎么还不快试试!

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值