- ベストアンサー
VSのデバッグ出力内容の保存方法は?
- VSのデバッグ出力内容をファイルに保存する方法を教えてください。
- デバッグ実行するとVS画面下の「出力」タブに例外発生時の情報などが表示されますが、これを自動的に保存する方法はありますか?
- 現在は手動で出力内容をコピーしてテキストファイルに貼り付けていますが、自動化する方法を知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
WindowsAPIのOutputDebugStringで出力された文字列を、取得すようにすればいいと思います。 自前で用意すれば、保存なども思い通りにできますが、作る手間はかかります。 参考にするなら、この辺り OutputDebugStringで出力したデバッグライトを自前で受け取る http://www.iot-kyoto.com/satoh/2016/01/19/win32api-001/ 出来合いのものでよければ、 DebugView for Windows https://technet.microsoft.com/ja-jp/sysinternals/debugview.aspx など。
その他の回答 (2)
- hiodraiu
- ベストアンサー率15% (451/2846)
TraceクラスのWriteメソッドを使えば、デバッグ出力として出力できる以外にも、任意のファイルやWindowsのイベントログにも出力できます。当然、デスクトップ上のファイルにも出力できます。 出力先の指定はTraceListenerで指定できます。TraceやTraceListenerで検索すれば、情報は集まると思います。
お礼
Writeメソッドを使うという事はおそらく、実行中に出力するという事でしょうか? 今回は「実行中に出力してしまうとアプリケーションの実行速度が遅くなってしまう」という案件なのでしたが、 でも教えていただいた後にずっと考えておりますと、もしかしたら Task.Factory.StartNew(() => Trace.WriteLine のような事を毎回やっておけば実行速度は遅くならないのかな?などと思いました。 まだコーディング中で検証できておりませんが。。。orz この度はご親切にお教えいただき誠にありがとうございました!! m(_ _)m
- mabyos
- ベストアンサー率52% (61/117)
作成されたexe >c:¥temp¥cosole.log などとして実行した時ファイルに吐かれるのではないでしょうか。
お礼
どうもありがとうございます!!m(_ _)m これはコマンドプロンプトからの起動でしょうか?? (私の理解が追いついていたかったら申し訳ございません。。。) VSで実行したいので、できればexeからの起動ではないほうが良いのですが、 でもログファイルに出せる方法は存じませんでしたので、今後使えそうです。 この度はお教えいただき誠にありがとうございましたm(_ _)mm(_ _)m
お礼
どうもありがとうございます!m(_ _)m MS製なんですねこれ。存じませんでした。 あとOutputDebugStringですが、リンク先を見ますと >出力先が共有メモリ という事で、ファイルへのテキスト出力より断然早そうなので、今回の件には有効そうです^^ ご親切にアドバイスいただき、またリンクも貼っていただき 誠にありがとうございました!!m(_ _)m
補足
BAに迷いましたが、 アプリケーションの実行速度を維持したまま出力する、というのが今回の悩みでしたので、 それを解決できそうなこちらをBAとさせていただきました。 重ね重ねどうもありがとうございました。m(_ _)m