DebugView 相關

引用: https://www.cnblogs.com/hbccdf/p/csharp_debug_induction.htmlhtml

           https://www.cnblogs.com/qinjin/p/5134982.html(NLOG 和Log4net 編程

DebugView的一些功能是否是讓你心動了呢。俗話說心動不如行動,可是在行動以前,首先要知道C#如何將調試信息輸出到DebugView中。框架

經過編程輸出一些調試信息到DebugView中,一共有三種方式:工具

  • Debug.WriteLine

         經過Debug.WriteLine能夠將調試信息寫入到DebugView中,以下:
         Debug.WriteLine("這是調試信息");學習

  • Debugger.Log

        Debug.WriteLine已經很好用了,惟一的缺點就是在Release模式下無效。那麼在Release模式下就可使用Debugger.Log方法,示例以下:網站

        Debugger.Log(0, null, "這是Debugger.Log輸出的調試信息");        debug

  • Kernal32.dll中的OutputDebugString方法

          作C++開發的應該知道能夠經過OutputDebugString這個API開實現輸出調試信息到DebugView中吧。那麼C++能作的,C#也能作。調試

           能夠經過PInvoke的方式引入此方法,這個API屬於Kernel32.dll,以下聲明:日誌

           [DllImport("kernel32.dll", CharSet=CharSet.Auto)]
           public static extern void OutputDebugString(string message);htm

 

 

DebugView與日誌框架比較

可能有人會說,DebugView能作的事情,我用log4Net,NLog等日誌框架也能作,爲何要用DebugView呢?

問的好,那麼我就根據平時使用DebugView的經驗來給你一個用DebugView的理由:
•DebugView使用很是方便。相比於日誌框架龐大的體系,DebugView的使用可謂是十分的簡單方便。DebugView只有幾百K的大小,佔用空間幾乎能夠忽略不計。從官網下載後,直接運行exe,幾乎不須要任何配置就能夠正常使用。而相比於DebugView,日誌框架能夠算的上龐然大物。而當你從官網得到log4Net後,須要進行各類繁雜的配置。甚至你要花上幾天時間專門學習一下這套框架。由此能夠看出DebugView的使用實在是方便的不能再方便。
•DebugView是可視化工具,支持各類過濾和高亮。DebugView能夠經過過濾條件來過濾不關心的信息,只顯示相關的調試信息。而日誌框架輸出的是文件等文本信息,這些信息會包含程序運行過程當中的全部信息,雖然能夠經過配置文件來指定只輸出哪一類信息,可是不如DebugView來的方便簡單。
•DebugView能夠實時監視。DebugView中有「自動滾動」的功能,程序中輸出的調試信息,基本上瞬間就會在DebugView中展現出來,當因爲大量信息致使DebugView中的文本框滿了後,DebugView能夠經過自動滾動滾動條,讓你隨時均可以看到最新的一條信息,達到相似監視的效果。而日誌框架因爲其寫文本的特性,很難達到這種效果,即便能達到,相信也是須要對日誌框架至關清楚瞭解,才能完成這個效果。

這些理由應該足以讓你使用DebugView了吧。使用DebugView的理由確定還不止這些,若是你有更好的理由,還請分享出來。

固然,DebugView與日誌框架,每一個都有每一個的用途。經過DebugView的方式,只適合短暫的調試,而正式發佈的網站或者軟件,須要一套記錄程序長期以來的運行狀態的工具,那麼就非日誌框架莫屬了。因此DebugView與日誌框架,要在合適的地方,發揮他們最大的功效。

聲明

Log4Net等日誌框架,功能足夠強大,也足夠豐富,相信上面說到的DebugView的功能,也能夠經過日誌框架來實現。可是和DebugView比較起來,會相對複雜一些。因此上面說到的使用DebugView的理由是基於方便性的比較,DebugView有足夠的方便性來讓你選擇使用他。

相關文章
相關標籤/搜索