WinDbg を使った標準出力と標準エラー出力のリダイレクト

これが何だか WinDbg の単純なコマンドやスクリプトだけでは出来ないらしい。ヘルプを良く見た積もりなんですけど、何処にも書いてない。
って事で、可也面倒な方法で行いました。テストプログラムの中に標準出力のリダイレクトをするコードを入れたくなかったので、そういった事はしてません。更に標準出力をリダイレクトしてテストプログラムを起動するヘルパプロセスも作りたく無かったので、そういった事もしてません。
WinMain の先頭アドレスで止めて esp と eip を弄って関数を叩いて、って事を繰り返して無理矢理行いました。


DOS 窓からでは -c 関係の何かが搗ち合ってしまっていた気がしたんですけど、今やってみると上手く行きました。俺がしていた事は何だったのだろうか。WinDbg の標準入出力を継承するんですね、デバッグされるプロセスは。
でも DOS 窓からでは標準エラー出力のリダイレクトが出来ないなあと思ったけど、Cygwin とかを使えば出来るんだなあ。インストールするのがちょっと面倒だけど。テストマシン多いから。
まあ、良いか。取り敢えず折角作ったから使うよ、このスクリプト。プロセス終る時にファイルハンドル閉じないけど、デバッガか OS が閉じてくれると思うし…。そういった事を考えると Cygwin を使った方が勝るのか…。


ファイルハンドルを閉じる様にした。


それにしてもイルハンが邪魔だなあ…。