web-dev-qa-db-ja.com

System.Diagnostics.Debug.WriteLineがVisual Studio 2010 C#で機能しないのはなぜですか?

私のコードには次の行があります:

System.Diagnostics.Debug.WriteLine("Title:" + title + "title[top]: " + title[top] + "title[sub]: " + title[sub]);

デバッグすると、この行に表示されますが、Visual Studio 2010の出力ウィンドウを見ると、「デバッグ」と表示され、「デバッグ>実行」を使用して実行しても何も表示されません。どうして?

28
user1464139

以下の項目を確認してください-

  1. デバッグ中にDEBUGモードが選択されています
  2. 出力ウィンドウでDebugオプションが選択されています- enter image description here
  3. コードでブレークポイントがDebug.WriteLineにヒットしているかどうかを確認します
  4. コードの先頭にDebug.AutoFlush = trueを挿入します
  5. ソリューションのプラットフォームがx86(またはx64)ではなくAny CPUに設定されているかどうかを確認してください。
  6. Goto Project Properties-> Web-Debuggerセクションで、ASP.NETオプションをチェックします

Point#5 のリファレンス(コメントを読んで、その人のために働いた)

18
Parag Meshram

私にとって、これは問題を解決しました:

System.Diagnostics.Trace.WriteLine("whatever");

Traceの代わりにDebugを使用)

13
Al Lelopath

App.configファイルで、トレースリスナーに<clear/>要素がないことを確認してください。

デバッグステートメントに使用されるデフォルトのトレースリスナーを含む、トレースリスナーのリストを効果的にクリアします。

App.configファイルでは次のようになります。

<system.diagnostics>
    <trace>
      <listeners>
          <!-- This next line is the troublemaker. If it is there delete it-->
          <clear/>
      </listeners>
    </trace>
  </system.diagnostics>
7
Rohit Vats

私にとっては、問題を解決するためにこれを行う必要がありました。

1. Open the project's property page
2. Under Build tab, check "Define DEBUG constant" and "Define Trace constant"

出来上がり!

4
JustAPup

同じ問題がありました。 Trace.WriteLineを使用して「Define DEBUG constant」をチェックしても機能しませんでした。

出力ウィンドウではなく、イミディエイトウィンドウで出力メッセージが見つかったことに気付きました。

次に、ツールの[すべての出力ウィンドウテキストをイミディエイトウィンドウにリダイレクトする]オプションをオフにして、問題を解決しました。