Вы можете сделать это без изменения исходного кода. Откройте автоматически запущенный проект в Visual Studio и установите точку останова. Запустите Regedit.exe и добавьте ключ в «HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Опции выполнения файла образа» с тем же именем, что и ваш .exe. Добавьте новое строковое значение с именем «Отладчик», установите для него «c: \ Windows \ system32 \ vsjitdebugger.exe». Пример файла .reg:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ConsoleApplication1.exe]
"Debugger"="\"c:\\Windows\\system32\\vsjitdebugger.exe\""
Теперь, когда ваше приложение запускает процесс, появляется приглашение отладчика JIT. Выберите экземпляр Visual Studio, в который загружен автоматически запущенный проект. Выполнение остановится в точке останова. Обратите внимание, что вам обычно приходится снова менять фокус на VS.
Майк Сталл предупредил, что этот трюк не работает только для управляемой отладки. Я не могу воспроизвести это, он отлично работает в VS2008 SP1.