调试和跟踪ASP.NET应用程序

ASP.NET运行故障

调试

跟踪

ASP.NET的安装

    可以同过安装VS.NET来安装

分布安装

 IIS

  安装MDAC2.7Microsoft Data Access Componets),可以从http://www.microsoft.com/data  5-6M),运行MDAC_typ_dnld.exe

  安装.NETFroamWork

ASP.NET故障排除

没有找到程序、没有显示ASP.NET的结果或浏览器试图下载文件

不能显示页面:HTTP错误 403

找不到页面:HTTP错误404

脱机时WEB页面无效

得到服务器错误的语句

其它问题

没有找到程序、没有显示ASP.NET的结果或浏览器试图下载文件

如果试图将页面作为硬盘上的本地文件来浏览,就会遇到这样的问题。在windows Explorer中单击文件时也会遇到此问题。原因是用户试图不已通过web服务器请求的方式访问Asp.NET页面

解决方法::需要在URL中引用web服务器

如果在URL中引用也出现这个问题,一般情况下是ASP.NET的安装问题,如重新安装IIS后没有再安装ASP.NET.

不能显示页面:HTTP错误403

可能是用户没有权限来执行包含在ASP.NET中的代码

解决方法:需要修改IIS的相关设置

找不到页面:HTTP:错误404

可能是在浏览器中输入了拼写错误的URL

解决方法:输入正确的URL

提示:也有可能使文件后缀名错误,如用NotePad写的代码,错误保存为*.aspx.txt

脱机时web页面无效

可能使用户试图请求一个页面,但当前没有与internet的连接

解决方法:单击“连接”按钮;或者调整浏览器的“脱机”设置。

得到服务器错误的语句

可能使ASP.NET代码错误

解决方法:修改错误代码

Web访问失败

Ie选项中,选择代理时,没有把“对于本地地址不使用代理服务器”选中

其它问题

可能是IIS安装不正确

杀手锏: ASPNET_regiis

 

C:\Documents and Settings\王康>aspnet_regiis

在单个计算机上管理 ASP.NET 的多个版本的安装和卸载的管理实用工具(1.1.4322.0)

Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.

用法:

    aspnet_regiis.exe [-i[r] [-enable] | -u[a] | -r | -s[n] <path> | -k[n] <path

> | -lv | -lk | -c | -e[a] | -?]

 

 -i         - 安装 ASP.NET 的此版本,并更新 IIS 元数据库根处的

              脚本映射和根以下的所有

              脚本映射。现有的低版本脚本映射

              升级到此版本。

 -ir        - 安装 ASP.NET 的此版本,仅注册。不

              更新 IIS 中的脚本映射。

 -enable    - -i -ir 指定 -enable 时,还将

              IIS 安全控制台(IIS 6.0 或更高版本)中启用 ASP.NET

 -s <path>  - 在指定的路径以递归方式安装此版本

              的脚本映射。现有的低版本脚本映射

              升级到此版本。

              例如 aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1

 -sn <path> - 在指定的路径以非递归方式安装此版本的

              脚本映射。现有的低版本脚本映射

              升级到此版本。

 -r         - IIS 元数据库根位置的此版本

              以及根以下的所有脚本映射安装脚本映射。不论当前版本是什么,

              所有现有的脚本映射都

              更改为此版本。

 -u         - 卸载 ASP.NET 的此版本。到此版本的

              现有脚本映射重新映射到此计算机上安装的

              其余的最高 ASP.NET 版本。

 -ua        - 卸载计算机上的所有 ASP.NET 版本

 -k <path>  - 从指定的路径中以递归方式移除到任何 ASP.NET 版本的所有

              脚本映射。

              例如 aspnet_regiis.exe -k W3SVC/1/ROOT/SampleApp1

 -kn <path> - 从指定的路径中以非递归方式移除到任何 ASP.NET 版本的所有

              脚本映射。

 -lv        - 列出计算机上安装的所有

              ASP.NET 版本(包括状态和安装路径)

              Status: Valid[ (Root)]|Invalid

 -lk        - 列出包含 ASP.NET 脚本映射的所有 IIS 元数据库项的所有路径

              (连同版本一起)。不显示从父项

              继承 ASP.NET 脚本映射的项。

 -c         - 将客户端脚本的此版本安装到

              每个 IIS 站点目录的 aspnet_client 子目录中。

 -e         - 从每个 IIS 站点目录的 aspnet_client 子目录中

              移除客户端脚本的此版本。

 -ea        - 从每个 IIS 站点目录的 aspnet_client 子目录中

              移除客户端脚本的所有版本。

 -?         - 打印此帮助文本。

 

2.调试

启动调试模式

VS.NET中的调试

CLR调试器的使用

ASP.NET调试故障

需要进行ASP.NET应用程序调试的操作系统

2.1启动调试模式

应用程序级调试模式

Web.config

<compilation debug=”true”/>

页面调试模式

HTML页面中添加以下代码

<%@Page Language=”C#” Debug=”true”%>

VS.NETDocumentDebug属性设置为true

2.2 VS.NET中的调试

“调试”菜单

启动(F5

逐语句(F11

逐过程(F10

新端点(Ctrl+B

调试窗口

断点

变量

2.3 CLR调试器的使用

.NET 框架自己带的调试器

DbgCLT.exe

位于:Program files\Mircosoft Visual Studio.NET\FrameWorkSDK\GuiDebug

CLR调试器使用的4个步骤

打开要调试的文件

将调试器附加到ASP.NET进程中

设置断点

使用调试器工具来操纵应用程序

2.4 ASP.NET调试启动故障

无法在web服务器中启动调试

您没有调用服务器的权限

发送调试HTTP请求时发生服务器断错误

没有对项目进行配置以调试接受调试

未正确安装调试器

服务器不支持对ASP.NETATL服务器应用程序的调试

访问被拒绝。检验您是否是管理员或某个组成员

无法启动ASP.NETATL服务器调试

访问被拒绝

无法在WEB服务器中启用调式

未将IIS应用程序配置为使用“集成windows身份验证”。保存已经选中“身份验证方法”对话框中的“集成windows身份验证”复选框

检查IIS的“保持HTTP连接”选项。如果他是关闭的,则可能需要将其打开,再尝试调试。

您没有调式服务器的权限

原因1.:确保已启用intergrated indows Authentication 。可能的原因是仅为IISDirectory安全启用了Basic

原因2:如果您在使用interfrated windows Authentication ,则需要确保您的用户帐号能够完全控制IIS的目录

发送调试HTTP请求时发生服务器端错误

Wen应用程序没有应用程序名。为此,请使用IIS MMC来检查web项目的属性

如果使用的是NTFS文件格式,则确保“aspnet”具有“wwwroot”或虚拟目录文件夹上的适当权限,才能访问和写入这些文件夹

没有对项目进行配置以接受调试

原因:在项目属性中未启用Asp.net调试

未正确安装调试器

未正确安装.NET Framework 应用程序

服务器不支持对ASP.NETARL服务器应用程序的调试

IIS和VS.NET安装顺序有错,用aspnet_regiis重新注册

访问被拒绝。

检验您是否是管理员或某个组成员。您可能不是该计算机上Debugger Users组的成员。将您的用户账户添加到计算机上的Debugger Users组中记可以解决此错误

您可能是Debugger Users组的成员,但是您不具有调试aspnet辅助进程的权限,因为您不是aspnet用户账户或Admininistrators组的成员。 将您的用户账户添加到机器上的Administrators组即可解决此问题

无法启松asp.netatl服务器调试

原因1:您可能安装可IISLockdown工具。如果这样,则查找urlscan.ini文件,并将DEBUG(区分大小写)添加到[allpwverbs]部分中

原因2:如果将域控制器用作服务器,并且项目是使用机器名(非完整域名)创建的,则可能需要将项目的URL更为完整域名

原因3:如果将IIS设置为使用专用IP(例如 Web site identification,可以在IIS MMCIIS设置中找到这一选项),则可能看到这条错误消息,

原因4web.config文件中的值太大。默认单位是千字节而非字节,因此如果更改此数字,使用了错误的单位,则可能导致调试问题

3.跟踪

试用Response跟踪

新建web应用程序

添加用户名称、密码文本框、登陆按钮

为登陆按钮添加事件

在事件中用Response.Write来跟踪值是否正确

便利的莱展示应用程序ASP.NET Web的信息

两种方式跟踪

Page——level跟踪

在浏览器中输出

不影响页面性能

Application-level跟踪

许可一次察看多个请求

自动为程序中的所有也启page-level

2.1在页面级使用跟踪

HTML页添加以下代码

<%@Page Trace=”true”%>

VS.NET中的设置

DocumentTrace属性设置为true

2.2写到跟踪日志

Trace.Write

Trace.Warn;红色显示

注:Trace对象对应的类为TraceContext

Trace.IsEnabled属性可以得到跟踪的当前状态

Application-level跟踪日志

为所有也开启page-level跟踪

收集统计状态信息及控件层次

开启跟踪需按以下方式修改 Web.config文件;

<configuration>

 <System.web>

  <trace enabled=”true”/>

 </ System.web>

</ configuration>

轻松察看多个请求的相应细节

posted on 2006-03-19 21:04  wkjs  阅读(489)  评论(0编辑  收藏  举报