用户操作
[即时聊天] [发私信] [加为好友]
fantasyerID:znnren
10604次访问,排名10513好友0人,关注者1
生活随性、爱好广泛、不善与人争执
znnren的文章
原创 13 篇
翻译 0 篇
转载 8 篇
评论 14 篇
fantasyer的公告
最近评论
fallhunter:我也呆过唐图,更喜欢北洋这个名字。
唐图有很多好的地方....
不过你星际输给mm还真丢人,虽然我也打不过
fallhunter:"游戏开发依然是我的梦想之一"

在这个没有梦想的社会发现一个依然还有梦想的人
znnren:有一个关于澳洲内陆的野外探险,可以欣赏到阿雅斯岩、澳洲内陆野花之旅、土著艺术、绘画与雕刻、土著音乐等。有时间去看看土著人的生活,应该很有意思吧~
静静:我对《一生要去的50个地方》,《天才的5种创意方程式》,《生活健康密码》挺感兴趣。如果有时间能不能告诉我这50个地方又没有澳洲的,抽空去看看。还有天才的5种创意方式,如果不长的话。
图书城:买书就上图书城(www.TuShuCheng.com)
百万图书全部5到8折,送货到家再付款!
文章分类
收藏
相册
图形学
Azure
puzzy3d
云风
我的兄弟姐妹
fallhunter(RSS)
newhappy
wolfsecond(RSS)
上铺的兄弟
净空亮星
朱珊
软件第一帅哥
静静
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 在Visual Studio IDE的输出窗口中写入跟踪信息收藏

新一篇: OpenGL教程 "Top Ten" | 旧一篇: 最近买书、读书状况

 

   程序调试的方式有很多,尽管在很多时候我们首推设置断点、单步跟踪、跟踪变量,在Visual Studio系列工具中尤其如次,但是相信大多数人也都会通过调用printf、coutConsole.WriteLine()……输出一些信息来跟踪自己程序的执行,解决问题。

       在用ASP.NET开发网站时,我非常希望能随时观察程序的执行流程、某些变量的值等等,虽然通过设置断点也能做到,但是总感觉很耗时麻烦。通过下面的代码我们可以很方便将这些信息输出到Visual Studio IDE的输出窗口中,跟踪程序的执行情况,也可以将这些信息单独输出到一个窗格中,从而于系统产生的编译、警告信息相分离。

       添加下面两个引用

EnvDET
EnvDET80

using EnvDTE;
using EnvDTE80;

class TraceMessage
{
    
//类的唯一实例
    private static TraceMessage _instance = null;

    
//Visual Studio的一个应用实例
    private EnvDTE80.DTE2 _dte2 = null;

    
private TraceMessage()
    
{}

    
//获取类的唯一实例
    public static TraceMessage  GetInstance()
    
{
        
if(_instance == null)
        
{
            _instance 
= new TraceMessage();
        }

        
return _instance;
    }


    
//设置表示Visual Studio IDE的应用实例
    public void SetVisualStudioInstance()
    
{
        
//获取当前正在运行的Visual Studio IDE的一个应用实例
        _dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.8.0");
    }

    
    
//向输出窗口输入新的信息
    public void WriteMessageToOutputWindow(string msg)
    
{
        OutputWindow ow 
= _dte2.ToolWindows.OutputWindow;

        
//获取输出窗口中的"生成"窗格
        OutputWindowPane owP = ow.OutputWindowPanes.Item("生成");
        owP.Activate();

        
//这里也可以创建新的窗格
        
//最好将添加窗格的语句单独拿出去,否则每次写信息都会单独创建一个窗格
        
//OutputWindowPane owP = ow.OutputWindowPanes.Add("My Tracing Message");
        
//owP.Activate();

        
//输入信息
        owP.OutputString(msg);
    }

}

   上面的代码还存在一个缺陷,如果你同时打开多个Visual Studio进行工作,这些跟踪信息最终都会写入其中某个IDE的输出窗口中,而不是写入它们各自的。另外在Visual Studio工具中通过“网站—〉ASP.NET配置”我们也可以启动ASP.NET自带的跟踪系统,将信息记录到一个指定的文件中。 下面总结内容来自http://dev.csdn.net/develop/article/84/84761.shtm,可以用一下试试看

1.页级别跟踪: 在页的开头包括如下的页指令<%@ Page Trace="True" TraceMode="SortByCategory/SortByTime" %>
  自定义消息: 
    Trace.Write("这里为要显示的字符串"); 
    Trace.Warn("这里为要显示的字符串");   //与Trace.Write相同,只是字体为红色
    检查是否使用了跟踪
    例句: if(Trace.IsEnabled) { Trace.Warn("已启用跟踪")}   
2.应用程序级别跟踪: 在Web.config文件的<System.Web>节中 <trace enabled="true" pageOutput="true"/>

发表于 @ 2007年11月30日 20:45:00|评论(loading...)|编辑

新一篇: OpenGL教程 "Top Ten" | 旧一篇: 最近买书、读书状况

评论:没有评论。

发表评论  


登录
Csdn Blog version 3.1a
Copyright © fantasyer