.NET Framework 除錯工具--DebugView

我們在寫程式時,很難,不,應該說不可能沒有除錯,目前的IDE開發工具都有不錯的語法除錯功能,而我們通常會使用一些技術來Debug,例如早期ASP時,使用

response.write("...")
response.end

來慢慢除錯,而且除錯完畢,還要記得把除錯程式碼移除,或是使用一個邏輯來偷放除錯程式;

if request("Debug") = true then
response.write("...")
response.end
end if 

而現在在.NET Framework裡,我們更可以使用Trace類別Debug類別來幫忙除錯。使用Trace只能用在開發環境,已上線服務不太可能讓你使用Trace;使用Debug類別我們在一般網頁又看不到訊息。

現在要來介紹一套sysinternals提供的工具,DebugView for Windows v4.76
以下是網站的介紹:
Sysinternals 的另一個首開先例:這個程式會攔截分別由 DbgPrint 利用裝置驅動程式,和 OutputDebugString 利用 Win32 程式所做的呼叫。它能夠在您的本機上或跨網際網路,在不需要作用中的偵錯工具情況下,檢視和錄製偵錯工作階段輸出。

這是一個不用安裝就可以使用的工具,在你的Windows作業系統執行後,你就會發現它已經開始抓取訊息,除了本機的訊息,它也能抓取遠端主機的訊息,很棒吧。

讓我們先設定一下:Edit → Filter,預設是"*",就是抓取所有相關訊息。讓我們修改一下,在include修改為「Bruce」。

新增一個DebugView.aspx,然後在DebugView.aspx.vb中新增程式碼:

Imports System.Diagnostics

Partial Class DebugView
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Debug.Write("Bruce: This is From Debug.Write message, 請查看你的DebugView工具")
    End Sub
End Class

先執行DebugView.exe,然後VS或本機IIS執行DebugView.aspx網頁,你就能清楚看到DebugView.exe正確過濾出訊息裡有Bruce的字串,而執行的DebugView.aspx是一片空白。這樣我們就能讓使用System.Diagnostics.Debug類別+DebugView程式來幫助我們提供必要的訊息,讓我們的開發之路更順利,而又免除把不必要的訊息顯示給一般使用者。

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。