9

それで、通常のwinformsアプリケーションを実行しているときに、Console.WriteLine()メソッドがどこに書き込むのか疑問に思っていました.

デバッグ中にデバッグ出力のすべてのテキストを喜んで吐き出すことは知っていますが、エンドユーザーのようにプログラムをデバッグして使用しなくなったとき、すべてはどこに行くのでしょうか? ある種のキャッシュに入りますか?RAMの深さ?バカンスでラトビアへ?

そして、実行時にアクセス可能なものに書き込む場合、どうにかしてそれをユーザーに表示したり、すべてをテキストファイルなどに書き留めたりすることはできますか?

4

3 に答える 3

7

Console.WriteLine または Debug.WriteLine について話しているのですか?

Console.WriteLine は、デバッグ構成とリリース構成で同じように機能します。コンソール アプリケーションのようにプロジェクトを構成し、リリース モードで開始すると、最初にバックグラウンドでコンソールが表示され、そこですべての出力が表示されます。これは、コンソール プロジェクトとして実行するように構成された Winform プロジェクトであり、書き込みます

DEBUG が定義されていない場合、Debug.WriteLine には条件ステートメントがあります。それは何も書いていません。

于 2013-06-20T16:16:48.873 に答える
1

あなたの質問は本当にキャプチャしたいということだと思いますConsole.WriteLine()。最初にConsole.WriteLine()、コンソール ウィンドウを接続するか、ストリームをインターセプトする他の手段を介して読み取ることができる標準出力ストリームに書き込みます。

使用したいデバッグまたはログ情報を取得する場合

System.Diagnostics.Trace.WriteLine

次に、出力をファイルに送信するには、ファイルまたは何かであるTraceListenerをセットアップできます。

于 2013-06-20T15:42:06.887 に答える
1

Console.WriteLine()デバッグまたはリリース モードで標準出力に書き込みます。したがって、リリースモードでキャッチする方法があります。

私が覚えていれば、リリースでコンパイルされていない Debug.WriteLine の代替手段があります。

于 2013-06-20T07:28:39.920 に答える