Как отключить отладку в visual studio

Обновлено: 05.07.2024

Я использую Visual Studio 2017 RC и меня очень расстраивает новое окно Chrome, которое появляется при нажатии кнопки «Отладка».

Проблемы с окном отладки Chrome:

  • Требуется время, чтобы запустить / "прикрепить" веб-сайт (я думаю, он подключает всю отладку javascript, которая мне не нужна, потому что я все равно использую для этого Chrome DevTools)
  • Не стыкуется (как вкладка) с другими окнами Chrome
  • Не помнит историю форм. Если я тестирую формы, я не могу автоматически заполнять данные формы, поэтому мне приходится каждый раз вводить их целиком.
  • Не запоминает историю URL. Если я тестирую определенную страницу на своем сайте, я не могу быстро выбрать URL-адрес в раскрывающемся списке URL-адресов Chrome. Необходимо ввести URL полностью
  • Расширения не включены, поэтому я не могу использовать расширения линейки или палитры цветов
  • Окно Chrome закрывается, когда отладка останавливается, поэтому мне нужно открыть новое окно, чтобы продолжить просмотр локального сайта.

Кто-нибудь знает, как отключить это новое окно стиля отладки и вернуться к тому, как это было в VS 2015?

Это не проблема, это новая функция в VS 2017. Ранее мы могли отлаживать JS и TypeScript только с помощью IE в режиме отладки (VS). Но теперь они ввели отладку JS и TS внутри VS с помощью функции удаленной отладки Chrome. Если вы запускаете приложение в режиме отладки (нажатие F5) и выбран браузер Chrome, Visual Studio 2017 попытается открыть сеанс удаленной отладки с помощью Chrome на выделенном порту. При удаленной отладке

Браузер запускается в обычном режиме, то есть без расширения, без истории и т. Д. Удаленная отладка не работает с уже запущенным существующим экземпляром Chrome.

Вы всегда видите это окно какое-то время. На этом этапе VS пытается подключить удаленный отладчик к VS

enter image description here

  1. Чтобы вернуться к опыту отладки VS 2015, измените цель отладки с Chrome на IIS Express.

Что-то вроде быстрого решения проблемы - нажать F5 и запустить сеанс отладки, забыв о недавно открытом окне Chrome. Перейдите к своему обычному экземпляру Chrome и просто откройте свой сайт в новой вкладке. Вы по-прежнему сможете отлаживать и делать все, потому что IIS Express по-прежнему будет запускать ваше приложение на этом порту.

Обновление: Ответ, данный ниже @Steveadoo, - правильный путь вперед. Параметр, показанный на его снимке экрана, управляет запуском Chrome для отладки. Снимите этот флажок, если хотите использовать обычный экземпляр Chrome.

Надеюсь это поможет.

Я не уверен, что это было с последним обновлением VS 2017, но внутри Debug -> Options вы можете отключить его сейчас.

Просто снимите отметку с выделенного:

Для тех, у кого есть обновление 15.7 и снятие флажка с опций JavaScript не помогает, можно найти решение здесь:

Инструменты> Параметры> Проекты и решения> Веб-проекты, снимите флажок «Останавливать отладчик при закрытии окна браузера».

Вот блог Microsoft об этой новой функции и о том, как вернуться к ней.

Вот путь, по которому я пошел, чтобы отключить:

Для VS 2017 перейдите в Инструменты -> Параметры -> Проекты и решения-> веб-проекты и снимите флажок с последней опции, как показано на изображении.

enter image description here

Инструменты> Параметры> Проекты и решения> Веб-проекты, снимите флажок «Останавливать отладчик при закрытии окна браузера».

У меня работает, Visual Studio Professional 2017, v 15.7.3

Я использую Visual Studio 2017, и у меня сработала комбинация этих двух вариантов:

Когда я использовал только один из этих двух, он не работал.

Если вы посмотрите на случай JavaScript

Для включения и отключения отладки JavaScript в Visual Studio одинаковы для всех версий

В Visual Studio 2017:

enter image description here

Если он снова предложит вам снова включить отладчик JS, выберите другой вариант (он будет продолжать запрашивать вас, если у вас есть точки останова в коде скрипта):

Turn off script debugger

В меню VS нажмите:

Инструменты> Параметры> поиск «проекты браузера»> снимите флажок с последней опции «Останавливать отладчик при закрытии окна браузера».

JIT-отладка автоматически запускает Visual Studio при возникновении ошибок или сбоев в приложении, запущенном вне Visual Studio. С помощью JIT-отладки можно тестировать приложения за пределами Visual Studio и открыть Visual Studio, чтобы начать отладку в случае проблемы.

JIT-отладка работает для классических приложений Windows. Она не работает для универсальных приложений Windows или управляемого кода, размещенного в приложении машинного кода, например для визуализаторов.

Если вы просто хотите запретить отображение диалогового окна JIT-отладчика, но у вас не установлена Visual Studio, см. раздел Отключение JIT-отладчика. Если набор средств Visual Studio был ранее установлен, но теперь его нет, придется отключить JIT-отладку через реестр Windows.

Включение или отключение JIT-отладки в Visual Studio

Чтобы включить или отключить JIT-отладку, необходимо запустить Visual Studio от имени администратора. Включение или отключение JIT-отладки устанавливает раздел реестра. Для его изменения требуются права администратора. Откройте Visual Studio с правами администратора, щелкнув приложение Visual Studio правой кнопкой мыши и выбрав Запуск от имени администратора.

JIT-отладку можно настроить в диалоговом окне Visual Studio Сервис > Параметры (или Отладка > Параметры).

Включение или отключение JIT–отладки

В меню Сервис или Отладка выберите Параметры > Отладка > JIT.

Включение или отключение JIT-отладки

В поле Включить JIT-отладку для этих типов кода выберите типы кода, которым требуется JIT-отладка: Управляемый, Собственный и (или) Скрипт.

Если вы включили JIT-отладчик, но он не открывается при сбоях или ошибках приложения, см. раздел Устранение неполадок с JIT-отладкой.

Отключение JIT-отладки из реестра Windows

JIT-отладка может оставаться включенной даже после удаления Visual Studio с компьютера. Если Visual Studio больше не установлена, JIT-отладку можно отключить, отредактировав реестр Windows.

Отключение JIT-отладки путем редактирования реестра

В меню Windows Пуск запустите редактор реестра (regedit.exe).

В окне Редактор реестра найдите и удалите следующие записи реестра.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

Раздел реестра JIT

Если на компьютере установлена 64-разрядная операционная система, также удалите следующие записи реестра.

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

Будьте внимательны, чтобы не удалить или не изменить другие разделы реестра.

Закройте окно Редактор реестра.

Включение JIT-отладки для приложений Windows Forms

По умолчанию в приложениях Windows Forms есть обработчик исключений верхнего уровня, который позволяет приложению продолжить работу, если оно может быть восстановлено. Если приложение Windows Forms выдает необработанное исключение, отображается следующее диалоговое окно:

Необработанное исключение Windows Forms

Чтобы включить JIT-отладку вместо стандартной обработки ошибок Windows Forms, добавьте следующие параметры.

В разделе system.windows.forms файла machine.config или <app name>.exe.config установите для параметра jitDebugging значение true :

Для приложений Windows Forms, написанных на языке C++, в файле CONFIG или коде также задайте для параметра DebuggableAttribute значение true . Если компиляция выполняется с атрибутом /Zi, но без /Og, компилятор автоматически задаст этот атрибут. Однако если требуется выполнить отладку неоптимизированной сборки выпуска, то необходимо задать DebuggableAttribute , добавив следующую строку в файл AssemblyInfo.cpp приложения:

Для получения дополнительной информации см. DebuggableAttribute.

Использование JIT-отладки

В этом примере рассматривается JIT-отладка, когда приложение выдает ошибку.

Для выполнения инструкций необходимо установить Visual Studio. Если у вас нет Visual Studio, вы можете скачать бесплатный выпуск Visual Studio Community.

Убедитесь, что JIT-отладка включена в разделе Сервис > Параметры > Отладка > JIT.

Когда проект откроется в Visual Studio, откройте файл Program.cs. Замените метод Main() следующим кодом, который выводит строку на консоль, а затем создает исключение NullReferenceException:

Чтобы выполнить сборку решения, выберите конфигурацию Отладка (по умолчанию) или Выпуск, а затем нажмите Сборка > Перестроить решение.

  • Выберите конфигурацию Отладка для полной отладки.
  • Если выбрана конфигурация Выпуск, необходимо отключить функцию Только мой код. В разделе Сервис > Параметры > Отладка снимите флажок Включить только мой код.

Дополнительные сведения о конфигурациях сборки см. в разделе Общие сведения о конфигурациях сборки.

Вы увидите следующее окно команд:

Снимок экрана: консоль для ThrowsNullException.exe, которая вызывает необработанное исключение, связанное с пустой ссылкой (System.NullReferenceException).

Откроется диалоговое окно Выбор JIT-отладчика.

Снимок экрана: диалоговое окно "Выберите JIT-отладчик", которое появляется сразу же после отображения исключения в окне консоли ThrowsNullException.exe.

В разделе Доступные отладчики выберите параметр Новый экземпляр <your preferred Visual Studio version/edition> , если он еще не выбран.

Проект ThrowsNullException открывается в новом экземпляре Visual Studio, а выполнение остановлено в строке, вызвавшей исключение:

Снимок экрана: проект ThrowsNullException в Visual Studio с выделенной строкой исходного кода, которая вызвала исключение.

Теперь можно начать отладку. При отладке реального приложения необходимо выяснить, почему код создает исключение.

Если приложение содержит ненадежный код, появляется диалоговое окно предупреждения системы безопасности, позволяющее решить, следует ли продолжить отладку. Перед продолжением отладки решите, доверяете ли вы данному коду. Этот код написан вами самостоятельно? Если приложение выполняется на удаленном компьютере, узнаете ли вы имя процесса? Если приложение выполняется локально, учитывайте возможность выполнения такого вредоносного кода на вашем компьютере. Если вы решили, что код заслуживает доверия, нажмите ОК. В противном случае нажмите кнопку Отмена.

Устранение неполадок с JIT-отладкой

Если JIT-отладка не запускается при сбое приложения, даже если она включена в Visual Studio:

Отчеты об ошибках Windows могут взять на себя обработку ошибок на компьютере.

Чтобы устранить эту проблему, используйте редактор реестра, чтобы добавить значение DWORD Отключено с параметром Данные значения, равным 1, для следующих разделов реестра:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting

(Для 64-разрядных компьютеров): HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\Windows Error Reporting

Дополнительные сведения см. в разделе Параметры .WER.

Известная проблема Windows может привести к сбою JIT-отладчика.

Исправление состоит в том, чтобы добавить значение DWORD из раздела Видимые с параметром Значение данных, равным 1, в следующие разделы реестра.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug

(Для 64-разрядных компьютеров): HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug

Не удалось подключиться к аварийному процессу. Указанная программа не является программой Windows или MS–DOS.

Отладчик попытался подключиться к процессу, выполняющемуся под именем другого пользователя.

Чтобы обойти эту проблему, запустите Visual Studio, откройте диалоговое окно Отладка > Присоединение к процессу (или нажмите сочетание клавиш CTRL + ALT + P) и найдите процесс, для которого требуется выполнить отладку, в списке Доступные процессы. Если имя процесса неизвестно, найдите идентификатор процесса в диалоговом окне JIT-отладчик Visual Studio. Выберите процесс в списке Доступные процессы и щелкните Присоединить. Выберите Нет, чтобы закрыть диалоговое окно JIT-отладчика.

Не удалось запустить отладчик, так как пользователь не вошел в систему.

В консоли нет пользователей, выполнивших вход, а также отсутствует сеанс пользователя, в котором следовало бы отображать диалоговое окно JIT-отладки.

Для решения этой проблемы необходимо войти в компьютер.

Чтобы решить эту проблему, используйте Visual Studio Installer для переустановки или исправления установки Visual Studio.

Чтобы не утомлять тебя, я коротко расскажу. Две машины, одинаковые системы на них, одинаковые программы (в основном). На одном установлена ​​Visual Studio, на другом . хм, что-то еще.

Иногда, когда я пытаюсь установить приложения, скажем, с компакт-диска, всплывающий отладчик Visual Studio для Just-In-Time выдает «необработанное исключение win32 в . » и спрашивает, хочу ли я выполнить отладку, используя «Новый экземпляр Microsoft VIsual Studio 2010 ". Если я выбираю «Да», он запускает VS, если я выбираю «Нет», он закрывается, и я снова в проводнике Windows.

Это было бы нормально, за исключением того, что я знаю, что с приложением все в порядке, и поэтому я не могу его установить (в этом последнем случае это был клиент из моего банка для интернет-банкинга, оплаты счетов и тому подобного).

Итак, как мне избавиться от этой вещи (отладчик точно в срок)?

Я не хочу удалять VS, поскольку я использую его ежедневно, конечно.

Редактировать 1 :: Я попытался отключить отладку Just-In-Time в VS Tools /Options /Debugging /Just-In-Time, затем снял все три галочки, но это просто выдало другую ошибку при попытке запустить исполняемую программу установки .

Произошло необработанное исключение win32 в autorun.exe [некоторое число]. Отладка Just-In-Time это исключение завершилось следующей ошибкой: ни на одном установленном отладчике не включена отладка Just-In-Time. В Visual Studio отладку Just-In-Time можно включить из .

Для получения дополнительной информации проверьте индекс документации на "Отладка точно в срок, ошибки" .

Редактировать 2 :: Приложение отлично работает на другом компьютере, на котором не установлена ​​VS. В значительной степени программное обеспечение на обеих машинах одинаково, только с небольшими отличиями (системы, установленные из образа). Небольшие различия: notepad2, ++, git, . некоторые мелочи, которые оставлены на усмотрение разработчика.

Я не хочу, чтобы это звучало так громко по отношению к VS, поскольку я понимаю, что он принимает этот тон, но я крайне не люблю программное обеспечение, которое не является автономным и портит другое программное обеспечение. И раньше у меня была такая же проблема с другими приложениями. Так что сейчас я обвиняю VS.

Если необходимо, я хочу отключить все виды отладки, чтобы эта вещь работала постоянно (в основном, в любом случае, используйте операторы print), если это поможет. И если это возможно.

У меня только что была эта проблема с Visual Studio 2013. Эта статья MSDN Отладка точно в срок в Visual Studio работает для меня. В моем случае я просто переименую Debugger в Debugger_del и DbgManagedDebugger в DbgManagedDebugger_del .

Включение или отключение отладки Just-In-Time

Вы можете включить или отключить отладку Just-In-Time в диалоговом окне «Параметры». Чтобы включить или отключить отладку Just-In-Time

  • В меню Инструменты нажмите Параметры .
  • В Параметры диалогового окна выберите папку Отладка .
  • В папке Отладка выберите страницу «точно в срок» .
  • В поле Включить отладку Just-In-Time этих типов кода выберите или снимите соответствующие типы программ: Управляемый, собственный или сценарий .
  • Чтобы отключить отладку Just-In-Time, после ее включения вы должны работать с правами администратора. Включение отладки Just-In-Time устанавливает раздел реестра, и для изменения этого ключа требуются права администратора.
  • Нажмите ОК .

Теперь это имеет смысл для меня, потому что в ASP включена отладка на стороне сервера. До установки VS это не имело никакого значения, потому что для обработки ошибок не был назначен отладчик, поэтому они были отправлены в браузер. Как только я установил VS, JIT вступил во владение и сделал то, что синица должна была сделать.

Итак, быстрый ответ, откройте IIS, нажмите на сайты по умолчанию или на ваши сайты и в настройках приложения, в моем случае ASP, отключите отладку на стороне сервера !!

Это может быть не ответом каждого или даже решением вышеупомянутой проблемы, но надеюсь, что оно даст более глубокое понимание этой проблемы и поможет кому-то еще.

Если вы используете одно и то же программное обеспечение на двух компьютерах, а оно на одном (что происходит, если запускается отладчик), возможно, на вашей машине что-то не так. Это может быть связано с тем, что у вас есть проблемы с несовместимостью драйверов, или что некоторые другие программы, установленные на компьютере, имеют несовместимые версии DLL .

Вам нужно попытаться устранить как можно больше различий (легче сказать, чем сделать, я знаю) . Если вы копируете содержимое компакт-диска на локальный диск, это помогает? Если вы отключили проверку на вирусы во время установки программного обеспечения, это поможет? Поможет ли выключить сеть? Вы сказали, что на обеих машинах установлено «в основном» одно и то же программное обеспечение. Что произойдет, если вы удалите некоторые различия? Были ли исправлены обе машины на одном уровне?

Поскольку Visual Studio пытается запуститься при возникновении проблем, взгляните на стек вызовов и посмотрите, какие библиотеки загружены, распечатайте его . запустите другое программное обеспечение, которое падает на этом компьютере, и выполните то же самое . ищите все общие библиотеки и сравнивайте машины, чтобы узнать, имеют ли они одну и ту же версию библиотек .

Конечно, это также может быть связано с аппаратной проблемой (раньше у меня периодически возникали сбои из-за того, что один из моих дисков готовился к отказу, а другие из-за того, что мой графический чип работал слишком горячо) .

Как я уже сказал, на самом деле это не ответ, но некоторые вещи, которые следует учитывать .

Если ничего не помогает . вы, вероятно, застряли, делая свои счета на другом компьютере (хотя другой эксперимент может состоять в создании VPC на сломанном компьютере, чтобы посмотреть, сработало ли это тогда) .

относительно ключа в HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AeDebug и SOFTWARE \ WOW6432Node \ Microsoft, я мог только изменить значение Auto с 1 на 0, и это сработало.

Теперь Visual Studio не будет отлаживать ваш javascript, потому что, к счастью, он не может отлаживать Silverlight и javascript одновременно. Теперь вы можете прикрепить свой JavaScript к отладчику браузера.

Эта проблема возникала, когда я запускал просмотрщик PDF. Я переустановил эту программу в другую папку (еще один диск в комп), и в моем случае это сработало.

Чтобы не утомлять вас, я расскажу короткую историю. Две машины, идентичные системы на них, идентичные программы (в основном). У одного есть Visual Studio, у вас есть. uhmm, что-то еще.

Иногда, когда я пытаюсь установить приложения, скажем, на компакт-диск, появляется всплывающее окно Visual Studio Just-In-Time Debugger, сообщает "необработанное исключение win32 в. " и спрашивает, хочу ли я отлаживать использование "Новый экземпляр Microsoft VIsual Studio 2010". Если я выберу "Да", он запускает VS, если я выберу "Нет", он закрывает эту вещь, а я снова в проводнике Windows.

Что было бы хорошо, если бы я не знал, что приложение совершенно нормально, и таким образом я не могу его установить (в последнем выпуске он был клиентом моего банка для интернет-банкинга и оплаты счетов и т.д.).

Итак, как мне избавиться от этой вещи (отладчик точно в срок)?

Я не хочу удалять VS, потому что я использую его ежедневно, конечно.

Изменить 1:: Я попытался отключить отладку "Just-In-Time" в VS Tools/Options/Debugging/Just-In-Time, а затем снятие всех трех галочек, но это просто дало еще одну ошибку при попытке запустить исполняемую программу установки.

Необработанное исключение win32 произошло в файле autorun.exe [некоторое число]. Отладка "Just-In-Time" при отладке этого исключения завершилась со следующей ошибкой: ни один из установленных отладчиков не включил отладку Just-In-Time. В Visual Studio отладка "Just-In-Time" может быть включена с.

Для получения дополнительной информации просмотрите индекс документации для "Отладки" точно в срок "," ошибки ".

Изменить 2:: Приложение отлично работает на другом компьютере, на котором не установлено VS. В значительной степени программное обеспечение на обеих машинах одинаково, с некоторыми незначительными отличиями (системы, установленные из образа). Незначительные отличия: notepad2, ++, git. некоторые мелкие вещи, которые оставляют самостоятельно.

Я не хочу, чтобы это звучало как разглагольствование против VS, так как я понимаю, что он воспринимает этот тон, но мне крайне не нравится программное обеспечение, которое не является самодостаточным и путает другое программное обеспечение. И у меня была такая же проблема и с другими приложениями. Так что пока я обвиняю VS.

Если необходимо, я готов отключить все виды отладки, чтобы эта вещь работала постоянно (в основном использовать заявления печати в любом случае), если это поможет. И если это возможно.

спросил(а) 2020-03-14T17:09:53+03:00 1 год, 8 месяцев назад

У меня была эта проблема сегодня с Visual Studio 2013. Эта статья MSDN:
Работает на меня вовремя - отладка в Visual Studio. В моем случае я просто переименую Debugger в Debugger_del и DbgManagedDebugger в DbgManagedDebugger_del .

ответил(а) 2020-03-14T17:25:00.528451+03:00 1 год, 8 месяцев назад

Включение или отключение отладки "Just-In-Time"

Вы можете включить или отключить отладку "Just-In-Time" в диалоговом окне "Параметры".
Чтобы включить или отключить отладку "Just-In-Time"

    В меню Сервис выберите Параметры.
    В диалоговом окне Параметры выберите папку Отладка.
    В папке Отладка выберите страницу Just-In-Time.
    В Включение надежной отладки этих типов кода выберите или снимите соответствующие типы программ: Управляемый, Родной или Script.
    Чтобы отключить отладку Just-In-Time, как только она была включена, вы должны работать с правами администратора. Включение отладки Just-In-Time задает раздел реестра, и для изменения этого ключа необходимы привилегии администратора.
    Нажмите ОК
ответил(а) 2020-03-14T17:09:53+03:00 1 год, 8 месяцев назад

Теперь это имеет смысл, потому что в ASP была включена отладка серверной части. Перед установкой VS это не имело значения, потому что отладчик не был назначен для обработки ошибок, поэтому они были отправлены в браузер. Как только я установил VS, JIT взял на себя и сделал то, что должен был делать.

Итак, быстрый ответ, откройте IIS, щелкните по сайтам по умолчанию или вашим сайтам и в настройках вашего приложения, ASP в моем случае отключит отладку на стороне сервера!!

Возможно, не каждый может ответить или даже решить эту проблему, но надеюсь, что это даст больше понимания этой проблеме и поможет кому-то еще.

ответил(а) 2020-03-14T17:09:53+03:00 1 год, 8 месяцев назад

Если вы используете одно и то же программное обеспечение на двух машинах, и оно рушится на одном (что происходит, если отладчик запускается), вы, вероятно, на вашем компьютере что-то еще не так. Возможно, у вас проблемы с несовместимостью драйверов или что у некоторых других программ, установленных на компьютере, есть несовместимые версии dll.

Вам нужно попытаться устранить столько различий, сколько вы можете (проще сказать, чем сделать, я знаю). Если вы скопируете содержимое компакт-диска на локальный диск, это поможет? Если вы завершаете проверку вируса при установке программного обеспечения, это поможет? Помогает ли вам отключить сеть? Вы сказали, что обе машины имеют "в основном" то же самое, программное обеспечение, что произойдет, если вы удалите некоторые различия? Обе машины были исправлены на одном уровне?

Как Visual Studio пытается запустить, когда у вас есть проблемы, посмотрите на стек вызовов и посмотрите, какие DLL загружены, распечатайте его. запустите некоторое другое программное обеспечение, которое сбой на этом компьютере, и выполните то же самое. ищите любые распространенные библиотеки и делайте сравнение между машинами, чтобы увидеть, есть ли у них одна и та же версия библиотек.

Конечно, это может быть и проблема с оборудованием (у меня были прерывистые сбои раньше, потому что один из моих дисков готовился к сбою, а другие, потому что мой графический чип работал слишком горячо).

Как я уже сказал, на самом деле не ответ, но некоторые вещи, чтобы рассмотреть.

Если все остальное не удастся. вы, вероятно, застряли, делая свои счета на другом компьютере (хотя другим экспериментом может быть создание VPC на сломанном ПК, чтобы увидеть, если он работал тогда).

Читайте также: