网络安全 频道

ASP.Net调试

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

第一招:配置Config.web

一般,当我们写好的网页运行出错了,ASP.Net就会在页面上告诉我们程序有
错了,但究竟错在哪里,它是没有提示的。为了能让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>即可。

第二招:Trace追踪
  用过ASP的人应该都用过下面的语句吧:
  Response.Write XXX
  Response.End
  虽然我不太喜欢ASP的编程方法,但是这种方便的调试手段还是很好的。换用
ASP.Net以后,我发现ASP.Net提供一种更强大的调试方法,它就是我们现在要说
的Trace。所谓Trace功能就是在网页的最前面加上一些标记.
   
   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变量的数据信息。
  除了让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打开欲调试的文件后,我们要做的第一件事情就是:设置断点。
  设置好断点后,只要使用浏览器浏览被调试的页面,当程序运行到断点的位
  置时,它就会自动弹出DbgUrt.exe,并且停在刚才的断点位置。这是,我们就可
  以利用Command Window-Immediate窗口检查变量的值了。

  F5:运行到下一个断点,若没有断点,则运行完该页面;
  F11:执行单步操作;
  F10:同样是单步操作,但它会进入子程序(函数)中的语句。http://netadmin.77169.com/HTML/20030713113100.html

0
相关文章