VS2008 отладка с firefox в качестве браузера по умолчанию - как заставить отладчик остановиться/закрыть при выходе?

У меня есть Firefox как мой браузер по умолчанию на моей машине dev, и когда я начинаю отлаживать из visual studio Firefox, как я ожидал, и все атрибуты опыта такие же, как IE, за исключением одного - когда я закрываю браузер, При использовании IE при закрытии браузера визуальная студия автоматически отключит отладчик. Когда я закрываю FF, я не получаю такого поведения - кто-нибудь знает, как это сделать?

4 ответа

Причина такого поведения очень проста: Visual Studio присоединяется к процессу, который будет отлаживаться, и выйдет из режима работы, если увидит, что этот процесс завершается. FireFox не создает новый процесс при каждом запуске окна: он повторно использует существующий процесс. IE может создавать новые для каждого окна (зависит от настроек параметров). Если у вас уже есть FF, и вы запускаете приложение для отладки, окно приложения создается в существующем процессе, и VS присоединяется к этому процессу. Когда вы закрываете окно приложения, процесс не завершается, поскольку он все еще активен для уже существующих окон. В следующий раз, когда произойдет закрытие всех остальных окон FF, вы увидите, что Visual Studio вышла из режима отладки. Если бы был способ сообщить FireFox создать новый процесс для нового окна, тогда эта проблема исчезнет. Я не нашел достаточно надежного способа сделать это.


Чтобы добавить к ответу Mark, вы можете настроить конкретный профиль "отладки" для firefox, а затем изменить свойства проекта /Web, выбрать там "запустить внешнюю программу" "и перейдите к firefox.exe и установите аргументы командной строки в" -no-remote -P "MyDebugProfile".

Чтобы управлять своими профилями, запустите (из командной строки) firefox следующим образом:

c:\> <installation path="" of="" ff="">\firefox.exe -profilemanager
</installation>

Здесь вы создаете новый профиль (скажем, "debug" )

Чтобы начать новый процесс FF с этим профилем (т.е. вы установили для VS):

c:\> <install path="" to="" ff="">\firefox.exe -no-remote -P "debug" "http://mysite"
</install>

Обратите внимание, что параметр "-P" чувствителен к регистру.


Щелкните правой кнопкой мыши на любой странице .aspx и выберите опцию "Обзор с..." там вы можете настроить браузер по умолчанию


Попробуйте подключить отладчик к процессу FireFox!

В VS (2008) выберите опцию меню Debug → Attach to Process и затем выберите firefox.exe - если вы не видите этот процесс, вам может потребоваться убедиться, что "Показывать процессы во всех сеансах" отмечен.

Я запустил это и проверил, что он работает. Я также подтвердил, что закрытие FireFox через приложение debug не работает, если Firefox установлен как браузер по умолчанию в VS 2008.

licensed under cc by-sa 3.0 with attribution.