2016-06-17 14 views
3

NETコアでSystem.Diagnostigs.Debugの出力を取得したいと思います。いずれにしても感謝しますが、コンソールでDebugの出力を見たいと思っています。出力System.Diagnostics.Debug to console

TextWriterTraceListener myWriter = new 
    TextWriterTraceListener(System.Console.Out); 
Debug.Listeners.Add(myWriter); 

しかし、エラーが表示さ:

'Debug' does not contain a definition for 'Listeners' 

私は何をしないのですが、私は、このようなコードを使用してみては? .NETコアでSystem.Diagnostics.Debugを使用することはできますか?

私はnetcoreapp1.0フレームワークを使用します。

UPDATE:Windowsの 私はDebugからの出力を示し、ツールのDebugView、https://technet.microsoft.com/en-us/sysinternals/bb896647.aspxを発見したが、問題はまだLinuxとConsole出力の実際のです。 .NET Frameworkの、Debug.WriteLine

答えて

6

Trace.WriteLineは同じであり、唯一の違いはDEBUG記号が設定されている場合TRACE記号が設定されている場合Trace.WriteLineが有効にされている間Debug.WriteLineが、有効になっていることです。ネットコア、Trace.WriteLine

はまだ私がなぜ(あなたがthe corefx repoで求めて検討するかもしれない)わからないんだけど、そのように振る舞うが、Debug.WriteLine完全に異なる実装を持っており、Listenersを使用していません。

The Unix implementation of Debug.WriteLineには、環境変数COMPlus_DebugWriteToStdErrが明示的にチェックされており、その設定時に標準エラー出力にDebug.WriteLineが出力されます。

これは、COMPlus_DebugWriteToStdErr=1 dotnet runを使用してアプリケーションを実行すると、動作することを意味します。

実際にリスナーを使用する場合は、Trace.WriteLineを使用する必要があります。

+0

こんにちは。ここではVisual Studio初心者です。 "' Debug.WriteLine'は、 'DEBUG'シンボルが設定されているときに有効になります。' ... 'DEBUG'シンボルを設定するには? – ocramot

+0

@ocramotデフォルトでは、デバッグモードで設定されています。プロジェクトプロパティで変更することができます。 – svick

関連する問題