• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VSのデバッグ出力内容をまとめてファイルに保存)

VSのデバッグ出力内容の保存方法は?

このQ&Aのポイント
  • VSのデバッグ出力内容をファイルに保存する方法を教えてください。
  • デバッグ実行するとVS画面下の「出力」タブに例外発生時の情報などが表示されますが、これを自動的に保存する方法はありますか?
  • 現在は手動で出力内容をコピーしてテキストファイルに貼り付けていますが、自動化する方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

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 など。

MKT_
質問者

お礼

 どうもありがとうございます!m(_ _)m    MS製なんですねこれ。存じませんでした。  あとOutputDebugStringですが、リンク先を見ますと >出力先が共有メモリ という事で、ファイルへのテキスト出力より断然早そうなので、今回の件には有効そうです^^  ご親切にアドバイスいただき、またリンクも貼っていただき 誠にありがとうございました!!m(_ _)m

MKT_
質問者

補足

 BAに迷いましたが、 アプリケーションの実行速度を維持したまま出力する、というのが今回の悩みでしたので、 それを解決できそうなこちらをBAとさせていただきました。  重ね重ねどうもありがとうございました。m(_ _)m

その他の回答 (2)

  • hiodraiu
  • ベストアンサー率15% (451/2846)
回答No.3

TraceクラスのWriteメソッドを使えば、デバッグ出力として出力できる以外にも、任意のファイルやWindowsのイベントログにも出力できます。当然、デスクトップ上のファイルにも出力できます。 出力先の指定はTraceListenerで指定できます。TraceやTraceListenerで検索すれば、情報は集まると思います。

MKT_
質問者

お礼

 Writeメソッドを使うという事はおそらく、実行中に出力するという事でしょうか? 今回は「実行中に出力してしまうとアプリケーションの実行速度が遅くなってしまう」という案件なのでしたが、 でも教えていただいた後にずっと考えておりますと、もしかしたら Task.Factory.StartNew(() => Trace.WriteLine のような事を毎回やっておけば実行速度は遅くならないのかな?などと思いました。  まだコーディング中で検証できておりませんが。。。orz    この度はご親切にお教えいただき誠にありがとうございました!! m(_ _)m

  • mabyos
  • ベストアンサー率52% (61/117)
回答No.1

作成されたexe >c:¥temp¥cosole.log などとして実行した時ファイルに吐かれるのではないでしょうか。

MKT_
質問者

お礼

 どうもありがとうございます!!m(_ _)m    これはコマンドプロンプトからの起動でしょうか?? (私の理解が追いついていたかったら申し訳ございません。。。) VSで実行したいので、できればexeからの起動ではないほうが良いのですが、 でもログファイルに出せる方法は存じませんでしたので、今後使えそうです。  この度はお教えいただき誠にありがとうございましたm(_ _)mm(_ _)m

関連するQ&A