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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
13
0
9 038
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

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

В VS (2008) выберите пункт меню «Отладка» -> «Присоединить к процессу», а затем выберите firefox.exe - если вы не видите этот процесс, вам, возможно, придется убедиться, что установлен флажок «Показывать процессы во всех сеансах».

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

Я не думаю, что это происходит так, как вы думаете.

John Sheehan 28.11.2008 05:05

Я не знаю, как ты думаешь, что он делает? Я запустил его в обоих направлениях, и если вы подключите отладчик через «ПРИСОЕДИНЯЙТЕСЬ К ПРОЦЕССУ» в меню отладки в Visual Studio, это действительно сработает. Если вы настроили браузер по умолчанию как Firefox, через настройки он не работает. Используйте "прикрепить к процессу", это работает ....

D3vtr0n 01.12.2008 09:16

Подумайте об этом внимательно ... Если вы подключаете его к процессу firefox, какой код отлаживается? Обычно, когда речь идет об отладке в Visual Studio и веб-браузере, речь идет об отладке веб-приложения.

Min 02.12.2008 23:27

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

Ответ принят как подходящий

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

Я испытал, что при отладке приложения с помощью VS 2008 он открывает новое окно FF каждый раз, когда нажимается F5 (начинается отладка). Интересно, может ли он использовать существующее открытое окно FF для отладки.

azamsharp 19.11.2009 19:46

@Mark - я начинаю отладку, когда Firefox вообще не работает (проверено в диспетчере задач). Начните отладку, и Firefox запустится. Убейте Firefox (опять же, проверено в диспетчере задач), и отладчик не остановится.

Emilio 29.03.2010 07:59

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

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

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

Там вы создаете новый профиль (скажем, «отладка»).

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

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

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

на вкладке "Свойства / Интернет" проекта для параметра "Действие при запуске" установлено значение "Запустить внешнюю программу" и он указывает на firefox.exe (FF 3.5), в поле "Аргументы командной строки" я написал (без скобок): [-no- удаленный -P "отладка"]. «отладка» - это профиль, ранее созданный в FF с использованием аргумента -profilemanager. Когда я отлаживаю проект, он запускает FF, как всегда (FF - мой браузер по умолчанию), и, как всегда, если я закрою FF, VS продолжит отладку, точно так же, как если бы я остановил отладку, FF оставался открытым. . Обс .: отправьте свой ответ на мой вопрос, чтобы я принял его.

Tufo 11.03.2010 01:13

@Tofu: пожалуйста, проверьте с помощью диспетчера задач, сколько (и какие аргументы командной строки) экземпляров FF у вас есть во время отладки. Вы можете проверить перед запуском отладчика, во время отладки и после остановки. Это покажет, запускает ли VS новый процесс и правильно ли он его обрабатывает.

Sunny Milenov 11.03.2010 18:02

Это работает ОТЛИЧНО, и Санни - это Бог :) Я не могу больше подчеркнуть свой энтузиазм, так как у меня всегда была эта проблема. +1, конечно. Чтобы немного помочь, определите конкретный порт сервера разработки (например, 51336) в свойствах проекта / Web, чтобы аргументы командной строки выглядели так: -no-remote -P "debug" "локальный: 51336"

dpant 28.11.2012 23:20

Другие вопросы по теме