個人的には、プログラミングで Debug クラスを使用することはほとんどありません。John Robbins ( Debugging .NET 2.0 ApplicationsおよびBugslayerコラムの著者) による、積極的にアサートする必要がある理由 (特にメソッドのパラメーター)など、多くのコメントや提案を読みました。
私が抱えている問題はこれです-次のようなコードを書くとしましょう:
Public Sub Test(source As Object)
Debug.Assert(source IsNot Nothing, "source is Nothing")
' Do something....
End Sub
これは、デバッグ ビルドを使用した開発中にうまく機能しますが、とにかくこれを行うことになります。
Public Sub Test(source As Object)
If source IsNot Nothing Then
' Do something....
End If
End Sub
「ソース」が何もない可能性がある場合は、とにかく「If」チェックを行います。リリース ビルドに assert 呼び出しを残すつもりはありません。
Debug クラスを使用しないもう 1 つの理由は、多くの単体テストを作成するためです。そうすることで、多くのコード パスをカバーするようになり、コードに Debug.Assert を含める必要がなくなりました。
デバッグ ログについては、Trace 呼び出しと SysInternals DebugView またはテキスト ファイルを使用して、トレース呼び出しの出力をログに記録します。
開発中に Debug クラスをどのように使用しているかについても知りたいので、このトピックについて他の人から聞いてみたいです。あまり経験のない分野なので、ぜひ学んでいきたいです。