程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 在Visual Studio IDE的輸出窗口中寫入跟蹤信息

在Visual Studio IDE的輸出窗口中寫入跟蹤信息

編輯:.NET實例教程

  程序調試的方式有很多,盡管在很多時候我們首推設置斷點、單步跟蹤、跟蹤變量,在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;

   &nbs
p;    //獲取輸出窗口中的"生成"窗格
        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自帶的跟蹤系統,這時候信息會被記錄到一個指定的文件中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved