调试和跟踪
1、开发过程中
主要依靠设置断点,逐语句/逐过程调试(逐句调试是学习别人代码的一个很好的方法,当然狠烂的代码这样做,很痛苦。)
其中,局部变量窗口/监视窗口可以检查当前各个变量的取值;
另外,通过“即时窗口”(调试->窗口->即时),
可以在程序运行过程中(当然是在断点状态下),
临时改变某个变量的取值(比如在即时窗口中输入Button1.Text="abc",然后回车使其生效),然后继续运行,查看运行效果。非常有用!!
优点:可以不必为调试变量的每一个取值而不停地终止测试/修改代码/重新调试,尤其当需要反复测试一个变量的正常取值时。
2、对已经发布的应用程序进行调试排错
启动该应用程序如http://localhost/t1/Default.aspx
在VS2005中打开相应的项目,然后选择工具->附加到进程->
选择相应的可用进程(是W3WP.exe,而不是IExplore.exe)->附加,
(VS2003中,操作稍有不同,
比如要选择“要调试的程序类型”为“Common Language runtime”)
然后为项目添加相应的断点,此时可在页面上进行操作,效果如同在项目中调试一样。
点击停止调试,同时会解除附加进程。
3、用VS调试脚本程序
(首先在IE->工具->Internet选项->高级->取消“禁用脚本调试")
操作可以类似1(用F5启动调试),此时,好像只能调试html类型,对aspx好像不支持。(不让设置断点)
也可类似于2(附加进程方式,同时设置调试类型应是Script),
此对,html可以设置断点调试;对aspx文档则是每一个script语句自动进行逐行调试(也还不让设置断点)。
---------------------------------------------------------------------------------------------------
优点:调试信息可直接输出在跟踪信息中,发布时关闭跟踪即可,而不必逐个注释或删除调试语句。
1、打开页面级别跟踪
<%@ Page Trace="true"%>
<%@ Page Trace="true" TraceMode="SortByCategory" %> 根据类别排序
使用 Trace.Write 和 Trace.Warn 方法
2、打开应用程序级别跟踪
<configuration>
<system.web>
<trace enabled="true"/>
</system.web>
</configuration>