2012-05-13 4 views
0

Debug.WriteLine(someinfo)プロジェクトをデバッグしているときに何らかのメカニズムがあり、チェックボックスをオフにすると、このdebug.writeline(someinfo)が呼び出されないをしたい。私は小さなデータでデバッグ情報を見たいのですが、大きなデータではすべてのdebug.writelinesをコメントアウトしなくてもオフにすることができます。そのようなことがVisual Studioで使用できる#DEBUG /プリプロセッサフ​​ラグですか?私は、私が見たいと思って、フラグのいくつかの種類に応じてdebug.writelinesを見ていないときにはまだ "デ​​バッグ"コンテキストにいますか?Visual Studioのデバッグ、参照/表示しないdebug.writelines

+0

「アウトプット」ウィンドウを見ているだけでなく、 –

+0

私は、手動でコメントアウトするのではなく、すべてのDebug.WriteLinesを基本的にコメントアウトしたいと考えています。 – iefpw

答えて

1

新しいビルド構成を作成することができます(たとえば、デバッグ時にはDEBUG_NO_TRACEという名前)。アクティブソリューション構成で

メニュー ビルド=>のConfigurationManager

、デバッグ

から新しい、コピーの設定を選択します新しいプリプロセッサフ​​ラグ#DEBUG_NO_TRACEを作成する(タブをビルドする)プロパティを投影します。

#IF DEBUG_NO_TRACEどこに違いがありますか?

あなたがしたい時に構成を構築するchosse。

しかし、よりエレガントな解決策は多分あります...

+0

プリプロセッサフ​​ラグが定義されている場合にのみ 'Debug.WriteLine'を呼び出す簡単なラッパーメソッドを作成することもできます。もちろん、彼は自分の既存のコールを通過し、代わりにその新しいメソッドにルーティングする必要があります。 – Tung

+0

しかし、新しいビルドとプリプロセッサのフラグを作成することは、私の答えと同じでしょうか、何か迷っていましたか? –

3

利用可能なオプション:

  • は、出力ウィンドウを右クリックし、「プログラムの出力」オプション
  • プロジェクト+ [プロパティ]を外します、タブを構築します"Define DEBUG constant"オプションを解除し、再構築
  • メインメソッドにTrace.Listeners.Clear();を追加します。
関連する問題