我的asp.net 调试经验

学.net有二三个月了。有一点点调试的经验。

在.net里修改一个控件的一个字母,看到修改后的效果也要编译,如果F5编译,等页面启动要好长时间,我可没那么长的耐心。直接刷新刚才的页面,session过期,要重新登录,还要输入用户名密码,验证码也麻烦的很。

net2.0有动态编译的功能,可自己用的是1.1版本的。没有那个功能,我便自己把aspx中的<%@ Page language="c#" Codebehind=”修改为<%@ Page language="c#" Src=”,src可以动态编译cs文件,编译的时候也要把cs文件里的代码全部注释,不然cs里的代码也会编译进去,src动态编译会和dll里的代码冲突。编译完后,去掉cs文件里的注释,cs文件里的代码随便修改,页面刷新效果就可以出来了。不用编译和重新登录了。(注意:修改成SRC后,再次打开此aspx页面.net会报错,修改完记得改回去就行了,下次打开项目也会报错)

在上海图书馆查资料时觉得调试程序很重要。测试可能和开发时间各占一半。有些人开发很愉快,一处理出现的问题,找不到原因,心情就变得很差。所以测试处理出现的问题比较重要。

初学时我要是在net环境里加断点,要F5编译,启动好长时间,如果ie被劫持了,启动要更长时间,登录后还要点到出错的页面。麻烦。后来发现,直接在.net里加断点,按alt+ctrl+P出现进程列表,选择aspnet_wp.exe(asp2.0版本可能不是这个进程了),选择common language runtime,下面出现的调试符号包含断点的话,在cs文件里加断点刷新页面则可立刻断下来。

 有时候我想自己选择调试器,如果使用WINDBG的话就不管用了。需要在代码里加System.Diagnostics.Debugger.Launch();断点。运行到此处,则会出现选择调试器的代码,记得我当时出现无法启动JIT的问题,我当时在本地用户和组-组里的Debugger Users里面加了我登录的帐号后就可以启动了。

有时候在cs文件的类里执行数据库操作,但sql语句出现,编译通过,打印sql语句就使用:   System.Web.HttpContext.Current.Response.Write();
   System.Web.HttpContext.Current.Response.End();

有时候不知道一个类名在哪一个类里,我就在.net环境里点工具-wincv(w)出现class viewer窗口就可以查找了。wincv.exe在我的目录地址是:C:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin:我把它加入在工具里了。启动就按alt+TW。

有时候测试小一点的asp.net控件或者c#控件就使用editplus了。alt+ctrl+E启动editplus(音速启动软件定义的快捷键,还不知道windows怎么定义),点C#-hello模板就出现如下代码:

using System;
class HelloWorld
{
public static void Main()
{
Console.WriteLine("Hello World !");

}
}
ctrl+s保存在一个地方,ctrl+1编译,下面的窗口没出现编译错误信息,ctrl+2运行,下面窗口出现Hello World !的结果。很方便。

我在工具-配置用户工具里的设置如下:

添加工具-菜单文本(to_exe)命令:C:/WINNT/Microsoft.NET/Framework/v1.1.4322/csc.exe    参数:/debug /out:"$(FileDir)/$(FileNameNoExt).exe" $(FileName)  初始目录:$(FileDir)  输出模式:输出过滤到输出窗口。

添加工具-菜单文本(RUN c#)命令:$(FileDir)/$(FileNameNoExt).exe     参数为空   初始目录:$(FileDir)  输出模式:输出过滤到输出窗口。

 添加工具-菜单文本(TO_DLL)命令:C:/WINNT/Microsoft.NET/Framework/v1.1.4322/csc.exe    参数:/t:library $(FileName)   初始目录:$(FileDir)  输出模式:保存已打开的文件。

 添加工具-菜单文本(cmd)命令:cmd  参数:/c echo "$(FileDir)/$(FileNameNoExt).exe" $(FileName)  初始目录:为空。 输出模式:输出过滤到输出窗口。 添加cmd是为了调试csc编译参数。记得当时网上有一篇csc加入edipplus的文章,我参考人家的设置,edipplus老是提示无法创建进程,没有找到相关资料,只好自己参考edipplus里的“Editplus软件技巧.txt”先把$(FileName) 等一些参考搞明白了,然后再看csc的编译说明,最后按自己的意思设置csc编译参数。问题终于解决了,好像是EDITPLUS里setting.ini里的一些路径设置不对造成的。

aspx文件:

我先保存一下,ctrl+a全选,win+n打开记事本,ctrl+v粘贴,以前有过写了一半电子邮件不小心全没了的经历,所以我才有保存的习惯。现在快捷键用的挺多的,在家里都是ctrl+f12开机,进系统后ctrl+alt+Q启动qq,ctrl+alt+M启动MSN,WIN+O启动邮件。快捷键确实方便很多。还记得用万能五笔打鼠标的鼠打不出来,一急之下打了个英语里的mice,鼠就上去了。哈。直接打五笔,拼音,英语不用切换。平时工作也喜欢找偷懒提高工作效率的技巧。走题了。

在editplus里打开C#-ASPX模板,代码如下:

<%@ Page Language="C#" Debug="True" Strict="True" Explicit="True" Buffer="True"%>
<%@ Import Namespace="System" %>

<html>
<head>
<title> New ASP.NET Document </title>
</head>
<body bgcolor="#FFFFFF" topmargin="0" marginheight="0">

<script language="C#" runat="server">

  void Page_Load(Object Source, EventArgs E) {

  Response.Write("hello world!");

  }

</script>

<form runat="server" method="">

</form>
 
</body>
</html>

按ctrl+S保存在设置好的目录里,按ctrl+Q 自带的浏览器便显示出hello world! 的结果了。挺方便。

我的设置如下:工具-参数选择-工具(常规-文件-工具三个大结点中的工具,以前一直没发现这个主结点)添加网络服务器IP或主机名:localhost:8098。(server里支持多站点,专业版本只能建虚拟目录了)网络服务器根目录:D:/lcw/我的文档/editplus(我把我的文档目录修改了,免得重新安装系统前我的文档还得备份)。刚才我把文件保存在网络服务器根目录里,editplus就会自动用localhost:8098前缀去打开。

开发时常用的控件的代码我就放在editplus里的剪辑里,需要的时候双击一下就出来了。

开发经常要用SQL, 我在任务栏的快捷方式点一下,sql查询分析器自动打开服务器上的数据库,因为每次我都不喜欢打开企业管理器,基本上用查询分析器就够了。快捷方式连的是bat批处理文件。内容如下:

@echo off
rem cmd.exe /C isqlw -S SERVER -d XPMoving.NET -U rnd_user -P 123456


rem  cmd.exe /C isqlw -S xp3 -d XPMoving -U lcw -P 123456

cmd.exe /C isqlw -S xp16 -d xpmoving -U sa -P 123456

密码我都修改成123456了,当然是假的了。哈。这样想打开一个或多个查询分析器也只要一点就打开了,可惜老是有DOS窗口, 不知道怎么样放在后台。

下面的命令是txt文件里输入查询语句,结果返回在txt文件里。不过写完以后我一直不用的:)。

in.txt
pause
isqlw -S SERVER -d XPMoving -U rnd_user -P 123456 -i in.txt -o out.txt
out.txt
exit

当然批处理的目录里要有in.txt和out.txt才行。

以前做asp的时候,我喜欢在asp里加stop语句,自动加载调试器后就可以调试了。javascript里加debugger也会自动加载调试器。(都需要在iis和ie里设置)。.net调试有时候我喜欢用CLR 调试器。点击打开,加载asp.net进程,在net环境里选择要调试的cs文件,查看属性,复制完整路径用clr打开,加断点。或者新建文件断点,加入文件地址,双击断点文件,在需要调试的地方加上断点,就可以随时在运行的时候加断点了。

这是我注册的第一个博客帐号的第一篇文章吧。

补:

以前做asp的时候一开始用的是windows自带的脚本调试器,后来觉得功能有点弱。在word2003里也可以安装一个功能多一点的asp调试器,word里alt+shift+f11可以安装此调试器。我机器上面的路径是:"C:/Program Files/Microsoft Office/OFFICE11/MSE7.EXE"。这两个工具都是在没有安装.net的前提下调试asp的工具。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚上吃酱牛肉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值