「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
----