2009-04-21 13 views

答えて

2

あなたは、SysinternalsのからDbgViewを使用するか、コンソールにメッセージをトレースするようにアプリケーションconfig fileに以下を追加することができ、次のいずれか

<configuration> 
    <system.diagnostics> 
    <sources> 
     <source name="TraceTest" switchName="SourceSwitch" 
     switchType="System.Diagnostics.SourceSwitch" > 
     <listeners> 
      <add name="console" /> 
      <remove name ="Default" /> 
     </listeners> 
     </source> 
    </sources> 
    <switches> 
     <!-- You can set the level at which tracing is to occur --> 
     <add name="SourceSwitch" value="Warning" /> 
     <!-- You can turn tracing off --> 
     <!--add name="SourceSwitch" value="Off" --> 
    </switches> 
    <sharedListeners> 
     <add name="console" 
     type="System.Diagnostics.ConsoleTraceListener" 
     initializeData="false"/> 
    </sharedListeners> 
    <trace autoflush="true" indentsize="4"> 
     <listeners> 
     <add name="console" /> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
</configuration> 

また、トレースの種類を変更することができますリスナーをログファイル内のSystem.Diagnostics.ConsoleTraceListenerから他のトレースリスナー、たとえばシステムのEventLogにログを記録したり、カスタムアプリケーションをトレースしたりすることができます。

+0

上記の内容の .exe.configファイルを実行可能ファイルと同じフォルダに追加しようとしましたが、プログラムが処理したときに何も起こりませんでした。私もhttp://msdn.microsoft.com/en-us/library/system.diagnostics.defaulttracelistener(VS.80).aspxで提案されているように、設定ファイルにSystem.Diagnostics.TextWriterTraceListenerを試しました。多くのトレースデータ - ファイルを自動的にフラッシュしません。 – Qwertie

+0

フォローアップ:autoflush = "false"はautoflush = "true"に変更する必要があります。そして、あまりにも悪いことですが、私はコンソールトレースリスナを動作させることができません。私がTRACEを定義したにもかかわらず、リリースビルド上では最悪の事態はありません! – Qwertie

+0

私は、TRACE定数を動作させるためにDebug.WriteLineの代わりにTrace.WriteLineを使用しなければならないことを知っています。 – Qwertie

1

チェックアウトDebugView。私は.NETでこれを使用していませんが、VC++のアプリケーションで使用しました。

+0

ダング、引き分けに遅れています。 – scottm

+0

システム全体のトレースをキャプチャします。私は別のエンジニアに与えることができる何かがほしいと思い、「これを使って痕跡を見る」と言う。残念なことに、このツールでは多くのノイズが発生し、私のアプリだけをフィルタリングする明白な方法はありません。また、残念なことに、私のアプリには、私が非表示にする無関係のトレースを生成するC++コードが含まれているため、.NET専用のトレースがうまくいくでしょう。 – Qwertie

関連する問題