VMwareの仮想シリアルポート
VMware上のWindowsをカーネルデバッグしたい場合、named pipeでWinDbgから接続できるわけだが、
というのが若干手間。そんなわけで「Windows XP フィルタドライバプログラミング」にあるシリアルポート直接出力の方がお手軽だったりする。
power off後にアプリを終了しないといけないのは仮想マシン側がサーバになっている(のにアプリのWinDbgが切断してくれない)ためなので、アプリをnamed pipeのサーバにすればいちいちデバッグアプリを再起動しなくてすむ。
named pipeからTCPへのproxyが公開されている(VMWare Serial Line Gateway)ので、これをちょっと改造してダンプだけするアプリを書いてみた。
なぜか8bit目の出力が化けることがあるようで、シリアルポートの設定を変えると出なくなったりするのだが、通信速度が遅ければ問題ないわけでもなさそう。
「Windows XP フィルタドライバプログラミング」が絶版になっていた。この本はAmazonのレビューにもあるが、単独で入門書になるものではないが基本を理解した上での副読本の一つとしてはいいと思う。