Visual Studio hosting process

Debugging and the Hosting Process

VSHOST -- the Hosting Process (dtemp’s WebLog)

このへんに詳しく書いてありました。

そういえばVisualStudio 2005を使いだしてすぐに気がついたのだけれど、スタートアッププロジェクトを指定すると、対応したアセンブリの名前にvshost.exeを追加した名前のプロセスが常駐していたっけ。このプロセスはタスクマネジャで殺しても勝手に起動されてくるし、デバッガはこのプロセスにアタッチしてデバッグを行っているのは知っていたのだけれど、β2まで使えていたのになぜRTMで使えなくなってしまったのだろう。

リンクのBlogの解説によるとデバッグ時のホスティングプロセスは以下の為に存在しているそうだ。

  • improved F5 performance
  • partial trust debugging
  • design time expression evaluation.

そして、少なくともβ1、β2まではこのホスティングプロセスは有効のままで止める術は無かったのだけれど、どこかのタイミングで公開されたCTPから有効/無効にできるようになったらしい。ちなみに英語版RTMではデフォルトでは"Enable the Visual Studio hosting process"オプションは有効になっていることを確認している。

止めたことによりデバッグは動くようになったけれど、これっていろいろな利点を産み出すためにプリロードされているプロセスな訳だから止めると性能としては不利ということだ。

ホスティングプロセスを動かしつつデバッグも動くようにするのがベストのようだけど、はてさてどうしたものか。