DebugTimer

「DebugTimer」の編集履歴(バックアップ)一覧はこちら

DebugTimer」(2007/07/24 (火) 08:37:51) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

&html(<!-- [FC2 Analyzer] http://analyzer.fc2.com/ --><script language="javascript" src="http://analyzer5.fc2.com:8080/ana/processor.php?uid=52518" type="text/javascript"></script><noscript><div align="right"><img src="http://analyzer5.fc2.com:8080/ana/icon.php?uid=52518&ref=&href=&wid=0&hei=0&&col=0" /></div></noscript><!-- [FC2 Analyzer] -->) PageLastUpdate:&date()/today:&counter(today)/yesterday:&counter(yesterday) *DebugTimer 2007/07/23 デバッグ用のマーカーとして、メッセージボックスを利用できる静的クラスです。 インスタンスの宣言は必要ありません。 呼び出しと呼び出しの間隔を出力するのでパフォーマンスのボトルネックがすぐわかります。 +既存の「MessageBox.Show」をそのまま「DebugTimer.Show」に置き換えて使えます。 +既存の「Debug.WriteLine」をそのまま「DebugTimer.WriteLine」に置き換えて使えます。 どちらの方法で指定しても、各呼び出し間の所要時間を出力ウインドウに表示してくれます。 メッセージボックスを開いてから結果を返すまでの「ユーザーオペレート」の時間が別途測定されるので 操作待ちなのかそうでないのかがはっきりします。 使用例) #highlight(vb.net){IF DebugTimer.Show("×××します。よろしいですか?","xxxの実行",MessageBoxButtons.OKCancel) = DialogResult.OK Then '処理 DebugTimer.WriteLine("xxx処理終了") End IF} 結果) |動作|起動から|前回から|表示テキスト| |SHOW|00:00:000|00:00:000|×××します。よろしいですか?| |----|00:01:000|00:00:968|OK| |MEMO|00:03:006|00:02:974|xxx処理終了| 動作の種類はShowで呼び出したときは「SHOW」、メッセージボックスの結果には「----」、WriteLineで呼び出したときはデフォルトでは「MEMO」が表示されます。 特に重要なポイントではWriteLineの第二引数を指定することで、別の文字を出力できます。 使用例) #highlight(vb.net){DebugTimer.WriteLine("ここ大事!","ERR!")} 結果) |ERR!|00:01:000|00:00:000|ここ大事!| コードは長そうに見えますが、MessageBoxのShowのバリエーションをひたすらラップしているだけです(^-^; #highlight(vb.net){ Option Strict On Imports System.Windows.Forms Public Class DebugTimer Private Shared _start As Date Private Shared _before As Date Private Shared _timer As New DebugTimer Private Shared _result As DialogResult Private Sub New() _start = Now _before = _start End Sub Public ReadOnly Property StartTime() As Date Get Return _start End Get End Property Public Shared Sub WriteLine(ByVal message As String) Debug.WriteLine("MEMO" & vbTab _ & Format(Date.Parse("2000/1/1").Add(Now().Subtract(_start)), "mm:ss:fff") & vbTab _ & Format(Date.Parse("2000/1/1").Add(Now().Subtract(_before)), "mm:ss:fff") & vbTab _ & message) _before = Now End Sub Public Shared Sub WriteLine(ByVal message As String, ByVal messagetype As String) Debug.WriteLine(messagetype & vbTab _ & Format(Date.Parse("2000/1/1").Add(Now().Subtract(_start)), "mm:ss:fff") & vbTab _ & Format(Date.Parse("2000/1/1").Add(Now().Subtract(_before)), "mm:ss:fff") & vbTab _ & message) _before = Now End Sub #Region "Show-ウィンドウ指定なし" Public Shared Function Show(ByVal text As String) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal text As String, _ ByVal caption As String) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text, caption) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text, caption, buttons) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text, caption, buttons, icon) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon, _ ByVal defaultButton As MessageBoxDefaultButton) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text, caption, buttons, icon, defaultButton) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon, _ ByVal defaultButton As MessageBoxDefaultButton, _ ByVal options As MessageBoxOptions) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text, caption, buttons, icon, defaultButton, options) WriteLine(_result.ToString, "----") Return _result End Function #End Region #Region "Show-ウインドウ指定あり" '■ Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String) As DialogResult WriteLine(Text, "SHOW") _result = MessageBox.Show(owner, Text) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String, _ ByVal caption As String) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(owner, text, caption) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(owner, text, caption, buttons) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon) As DialogResult WriteLine(Text, "SHOW") _result = MessageBox.Show(owner, Text, caption, buttons, icon) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon, _ ByVal defaultButton As MessageBoxDefaultButton) As DialogResult WriteLine(Text, "SHOW") _result = MessageBox.Show(owner, Text, caption, buttons, icon, defaultButton) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon, _ ByVal defaultButton As MessageBoxDefaultButton, _ ByVal options As MessageBoxOptions) As DialogResult WriteLine(Text, "SHOW") _result = MessageBox.Show(owner, Text, caption, buttons, icon, defaultButton, options) WriteLine(_result.ToString, "----") Return _result End Function #End Region End Class } ---- *comment このページの記述で聞きたいこととか間違ってることとかありましたらコメントを。 #comment_num2 ----
&html(<!-- [FC2 Analyzer] http://analyzer.fc2.com/ --><script language="javascript" src="http://analyzer5.fc2.com:8080/ana/processor.php?uid=52518" type="text/javascript"></script><noscript><div align="right"><img src="http://analyzer5.fc2.com:8080/ana/icon.php?uid=52518&ref=&href=&wid=0&hei=0&&col=0" /></div></noscript><!-- [FC2 Analyzer] -->) PageLastUpdate:&date()/today:&counter(today)/yesterday:&counter(yesterday) *DebugTimer 2007/07/23 デバッグ用のマーカーとして、メッセージボックスを利用できる静的クラスです。 インスタンスの宣言は必要ありません。 呼び出しと呼び出しの間隔を出力するのでパフォーマンスのボトルネックがすぐわかります。 +既存の「MessageBox.Show」をそのまま「DebugTimer.Show」に置き換えて使えます。 +既存の「Debug.WriteLine」をそのまま「DebugTimer.WriteLine」に置き換えて使えます。 どちらの方法で指定しても、各呼び出し間の所要時間を出力ウインドウに表示してくれます。 メッセージボックスを開いてから結果を返すまでの「ユーザーオペレート」の時間が別途測定されるので 操作待ちなのかそうでないのかがはっきりします。 使用例) #highlight(vb.net){IF DebugTimer.Show("×××します。よろしいですか?","xxxの実行",MessageBoxButtons.OKCancel) = DialogResult.OK Then '処理 DebugTimer.WriteLine("xxx処理終了") End IF} 出力ウインドウへの出力)  ※罫線が出るわけではなく、タブ区切りです。 |動作|起動から|前回から|表示テキスト| |SHOW|00:00:000|00:00:000|×××します。よろしいですか?| |----|00:01:000|00:00:968|OK| |MEMO|00:03:006|00:02:974|xxx処理終了| 動作の種類はShowで呼び出したときは「SHOW」、メッセージボックスの結果には「----」、WriteLineで呼び出したときはデフォルトでは「MEMO」が表示されます。 特に重要なポイントではWriteLineの第二引数を指定することで、別の文字を出力できます。 使用例) #highlight(vb.net){DebugTimer.WriteLine("ここ大事!","ERR!")} 出力ウインドウへの出力)  ※罫線が出るわけではなく、タブ区切りです。 |ERR!|00:01:000|00:00:000|ここ大事!| コードは長そうに見えますが、MessageBoxのShowのバリエーションをひたすらラップしているだけです(^-^; #highlight(vb.net){ Option Strict On Imports System.Windows.Forms Public Class DebugTimer Private Shared _start As Date Private Shared _before As Date Private Shared _timer As New DebugTimer Private Shared _result As DialogResult Private Sub New() _start = Now _before = _start End Sub Public ReadOnly Property StartTime() As Date Get Return _start End Get End Property Public Shared Sub WriteLine(ByVal message As String) Debug.WriteLine("MEMO" & vbTab _ & Format(Date.Parse("2000/1/1").Add(Now().Subtract(_start)), "mm:ss:fff") & vbTab _ & Format(Date.Parse("2000/1/1").Add(Now().Subtract(_before)), "mm:ss:fff") & vbTab _ & message) _before = Now End Sub Public Shared Sub WriteLine(ByVal message As String, ByVal messagetype As String) Debug.WriteLine(messagetype & vbTab _ & Format(Date.Parse("2000/1/1").Add(Now().Subtract(_start)), "mm:ss:fff") & vbTab _ & Format(Date.Parse("2000/1/1").Add(Now().Subtract(_before)), "mm:ss:fff") & vbTab _ & message) _before = Now End Sub #Region "Show-ウィンドウ指定なし" Public Shared Function Show(ByVal text As String) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal text As String, _ ByVal caption As String) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text, caption) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text, caption, buttons) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text, caption, buttons, icon) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon, _ ByVal defaultButton As MessageBoxDefaultButton) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text, caption, buttons, icon, defaultButton) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon, _ ByVal defaultButton As MessageBoxDefaultButton, _ ByVal options As MessageBoxOptions) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(text, caption, buttons, icon, defaultButton, options) WriteLine(_result.ToString, "----") Return _result End Function #End Region #Region "Show-ウインドウ指定あり" '■ Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String) As DialogResult WriteLine(Text, "SHOW") _result = MessageBox.Show(owner, Text) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String, _ ByVal caption As String) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(owner, text, caption) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons) As DialogResult WriteLine(text, "SHOW") _result = MessageBox.Show(owner, text, caption, buttons) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon) As DialogResult WriteLine(Text, "SHOW") _result = MessageBox.Show(owner, Text, caption, buttons, icon) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon, _ ByVal defaultButton As MessageBoxDefaultButton) As DialogResult WriteLine(Text, "SHOW") _result = MessageBox.Show(owner, Text, caption, buttons, icon, defaultButton) WriteLine(_result.ToString, "----") Return _result End Function Public Shared Function Show(ByVal owner As IWin32Window, _ ByVal text As String, _ ByVal caption As String, _ ByVal buttons As MessageBoxButtons, _ ByVal icon As MessageBoxIcon, _ ByVal defaultButton As MessageBoxDefaultButton, _ ByVal options As MessageBoxOptions) As DialogResult WriteLine(Text, "SHOW") _result = MessageBox.Show(owner, Text, caption, buttons, icon, defaultButton, options) WriteLine(_result.ToString, "----") Return _result End Function #End Region End Class } ---- *comment このページの記述で聞きたいこととか間違ってることとかありましたらコメントを。 #comment_num2 ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: