程序人生,软件一生。

欢迎来到顾祥先的网站
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ASP.NET的调试方法

Posted on 2005-10-24 14:51  Guxx  阅读(1156)  评论(0编辑  收藏  举报

程序的调试方法,对于编写高质量的程序有着很大关系,用之得当,事半功倍。下面,我就把我对ASP.NET调试技术的了解给大家说说,还希望大家多多指教。

条件编译:
条件编译,是.NET的调试中非常重要的方法之一,它可以根据编译条件来动态生成运行代码。
条件编译是在生成代码时用/define指定的常数,结合代码中的#if  常数....#endif来判断是否生成#if....#endif部分代码。
条件编译常数,可以在项目属性->配置属性->生成->条件编译常数中指定,也可以在命令行中指定。对于一个代码文件来说,你也可以在文件头部分定义,如在.cs文件中,#define DEBUG,也可以#undef  DEBUG取消。我个人觉得,在项目属性中指定灵活性要大一些,因为你可以根据不同的配置设置不同的常数。条件编译常数格式为:DEBUG;TRACE。常数不限于DEBUG和TRACE,你可以指定任何单词。

当我们定义好条件编译常数后,在程序代码中就可以使用了。如我们为了在调试版本中显示一些中间状态信息,而发布版本不需要显示,我们可以这样:
c#

/// <summary>
/// 初始化
/// </summary>

private void Initialize()
{
    
try
    
{
        
int x = 0;
        
int i = 1 / x;
    }

    
catch(Exception e)
    
{
        
#if DEBUG
        Debug.Listeners.Add(
new TextWriterTraceListener(Console.Out));
            //Debug.Listeners.Add(new TextWriterTraceListener("Debug Result.Log");    //写调试信息到文件中。
        Debug.AutoFlush 
= true;
        Debug.WriteLine(e.Message);
        Debug.Close();
        
#endif//DEBUG
        Response.Write(
"初始化" + e.Message) ;
    }

}

 Web窗体代码中的条件编译选项
为了在Web窗体代码中启用条件编译,你需要设置<%@Page Language="C#" Debug="True" %>

Web.Config中的debug
在Web.Config文件是,会有<compilation defaultLanguage="c#" debug="true" />一行,这个功能是确定程序是否要加载调试符号,如果我们要在IDE的调试模式下运行,debug必须为true,但为了提高性能,在发布时我们需要设置debug为false。


暂时写这么多。