braintag

公開してしまう備忘録

他プロセスから起動されるアプリケーションの、起動時のデバッグ

VisualStudio2008で開発していて困ったことが発生。

他プロセスから起動されるのが前提のアプリケーションは、起動後ならプロセスへのアタッチでデバッグできるが、起動時にアプリケーションエラーがあって、起動すらしない。

他プロセスから起動されるのが前提のアプリケーションの、起動時のデバッグはどうやるのか調べてみた。

方法 : デバッガを自動的に起動する
http://msdn.microsoft.com/ja-jp/library/a329t4ed(VS.80).aspx

レジストリエディタを開き
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\currentversion\image file execution options
に、
新しいキーでデバッグ対象の実行ファイルの名前を入れる。"aaa.exe"とか。

そのキーに新しい文字列値を追加し、名前を"debugger"、
内容を"vsjitdebugger.exe"とする。これだけ。

要するに、レジストリデバッグしたいアプリを登録しておくと、
起動時に自動的にJust-in-timeデバッグによりデバッグ対象となるらしい。

起動時に、どのデバッガで開くかを聞かれるので、VisualStudioで該当プロジェクトを開いておいて、それを選択するとソースコードを見ながら簡単にデバッグできた。