C#でOutputDebugString()をキャプチャする
C#でOutputDebugStringをキャプチャするコードを書いたので置いておきます。
SysinternalsのDebugViewのコア機能をC#で書き直した形です。
普段はDebugViewやVisual Studioをアタッチしているのですが、DebugViewよりも使いやすいUIを構築したかったり、コマンドラインツールに組み込みたかったりしたので用意しました。
あと、コードは.NET 6で書きましたが.NET Framework 4.6を使っているプロジェクトでもnullable関連を数か所書き換えればコンパイルできます。