VB/C#でトレースログを出力する方法

このエントリーをはてなブックマークに追加

C/C++ で言うところの、__FILE__ や __LINE__ を拾ってログ出力したい、という場合
次のような関数を作っておきます。

Public Class DebugTrace
    Public Shared Sub Trace()

        Dim sf = New StackFrame(1, True)
        Dim methodName As String = sf.GetMethod().ToString()
        Dim fileName As String = sf.GetFileName()
        Dim lineNumber As Integer = sf.GetFileLineNumber()

        MessageBox.Show(String.Format( _
            "場所 {0} 場所 {1}:行 {2}", methodName, fileName, lineNumber))
    End Sub
End Class

で、使いたいときは、

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    DebugTrace.Trace()
End Sub

のように書けばOK.

StackFrameクラスでは、Exceptionのように呼び出し元を再帰的に呼べるはずですが、ひとまずこれで用は足りるからよいかな、と。

カテゴリー: C#, VB, 開発   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">