タグ

.netとerrorに関するundertheskyのブックマーク (3)

  • .NET Frameworkのロギング

    TraceSwichはアプリケーション構成ファイルで定義した名前でオブジェクトを作る。 これによって構成ファイルで定義した出力レベルが読み取られる。 通常はクラス毎にstaticなメンバーとしオブジェクトを作ればよい。 なおSwitch名は通常は実行ファイル名と同じがよい。 DLLを使う場合はDLLの名前をスイッチの名前にすると出力レベルの使い分けができる。 static readonly TraceSwitch ts = new TraceSwitch("TestSwitch", "comment test5"); void func() { // 正しい使い方 if (ts.TraceInfo) { Trace.TraceInformation("test5 information 1"); } if (ts.TraceWarning) { Trace.Trace

  • TraceSourceを使用してトレースする、ログに書き込む

    注意:ここで紹介する方法は、.NET Framework 2.0以降で有効です。それ以外では、こちらやこちらのように、TraceとDebugを使用するようにします。 ここでは、.NET Framework 2.0から追加されたTraceSourceクラスを使ってトレースする方法を紹介します。.NET Framework 1.1以前は、こちらやこちらのように、TraceとDebugを使用してトレースを行いましたが、.NET Framework 2.0ではTraceSourceを使用したトレースが推奨されています。 早速ですが、TraceSourceを使った簡単な例を示します。以下のコードでは、Button1をクリックしたときに、指定したメッセージがVisual Studioの出力ウィンドウに表示されます。 'TraceSourceの作成 Private Shared appTrace As

    TraceSourceを使用してトレースする、ログに書き込む
  • ContextSwitchDeadlolck - Kazzz's diary

    Visual Studio 2005でデバッグ時に、ブレークポイント等で実行を止めたまま、一定の時間(メッセージからすると60秒)が経過すると発生する。 ContextSwitchDeadlock が検出されました。 Message: CLR は、COM コンテキスト 0x1b0b70 から COM コンテキスト 0x1b0ce0 へ 60 秒で移行できませんでした。ターゲット コンテキストおよびアパートメントを所有するスレッドが、ポンプしない待機を行っているか、Windows のメッセージを表示しないで非常に長い実行操作を処理しているかのどちらかです。この状態は通常、パフォーマンスを低下させたり、アプリケーションが応答していない状態および増え続けるメモリ使用を導く可能性があります。この問題を回避するには、すべての Single Thread Apartment (STA) のスレッドが、

    ContextSwitchDeadlolck - Kazzz's diary
  • 1