just in time debugging что это такое

Страница «JIT-отладка», папка «Отладка», диалоговое окно «Параметры»

Чтобы получить доступ к странице JIT, перейдите к меню Сервис и щелкните пункт Параметры. В диалоговом окне Параметры разверните узел Отладка и выберите JIT. Эта страница позволяет включить JIT-отладку для управляемого кода, машинного кода и скриптов. Дополнительные сведения см. в разделе JIT-отладка.

JIT-отладку можно разрешить для программ следующих типов:

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

Связанные предупреждения

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

В качестве JIT-отладчика был зарегистрирован другой отладчик. Для восстановления включите JIT-отладку или запустите средство восстановления Visual Studio.

Это сообщение возникает, если в качестве JIT-отладчика установлен другой отладчик, возможно, отладчик Visual Studio более старой версии.

Также возможно отображение следующего сообщения:

Обнаружены ошибки регистрации JIT-отладки. Для восстановления включите JIT-отладку или запустите средство восстановления Visual Studio.

Если отобразилось любое из этих предупреждений, для JIT-отладки с Visual Studio 2012 необходимы права администратора до тех пор, пока проблема не будет устранена. Если попытаться разрешить проблему, не имея прав администратора, возникает следующее сообщение об ошибке:

Отказано в доступе. Администратор должен включить JIT-отладку или восстановить установку Visual Studio.

Источник

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

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

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

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

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

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

Если вы пытаетесь запустить веб-приложение, отключите отладку скриптов.

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

Если вы размещаете веб-приложение ASP.NET в IIS, отключите отладку на стороне сервера, выполнив следующие действия:

Возможно, отключение JIT-отладки позволит приложению преодолеть ошибку и работать нормально.

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

Источник

Отладка с помощью JIT-отладчика в Visual Studio

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.

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

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

Нажмите кнопку ОК.

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

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

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

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

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

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger

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

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

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

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger

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

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

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

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

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

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

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

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

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

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

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

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

В этом примере вы создадите консольное приложение C# в Visual Studio, которое создает исключение NullReferenceException.

В Visual Studio создайте консольное приложение C# (Файл > Создать > Проект > Visual C# > Консольное приложение) с именем ThrowsNullException. Сведения о создании проектов в Visual Studio см. в разделе Пошаговое руководство. Создание простого приложения.

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

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

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

Откройте созданное приложение ThrowsNullException.exe в папке проекта C# ( . \ThrowsNullException\ThrowsNullException\bin\Debug или . \ThrowsNullException\ThrowsNullException\bin\Release).

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

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

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

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

Нажмите кнопку ОК.

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

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

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

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

Устранение неполадок с 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

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

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

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

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

Во время JIT-отладки могут отображаться следующие сообщения об ошибках.

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

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

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

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

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

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

Класс не зарегистрирован.

Отладчик пытался создать класс COM, который не зарегистрирован, вероятно, из-за проблем с установкой.

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

Источник

Just in time debugging что это такое

Сообщения: 166
Благодарности: 0

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такоеПрофиль | Отправить PM | Цитировать

» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

Сообщения: 52194
Благодарности: 15076

» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

Сообщения: 52194
Благодарности: 15076

» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

Сообщения: 52194
Благодарности: 15076

» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

Сообщения: 36075
Благодарности: 6528

just in time debugging что это такое. Смотреть фото just in time debugging что это такое. Смотреть картинку just in time debugging что это такое. Картинка про just in time debugging что это такое. Фото just in time debugging что это такое

Сообщения: 52194
Благодарности: 15076

Источник

Как отключить отладчик Just in Time?

Просто предоставил новый сервер, на котором запущены IIS и Server 2012 и SQL Server 2012. Я также установил инструмент SQL Server Management Studio, чтобы я мог быстро проверять базы данных без необходимости открывать удаленное соединение.

Когда я просматриваю сайты ASP.NET удаленно, я получаю диалоговое окно исключения времени debgugger, когда ошибка встречается в дополнение к желтому экрану. Диалог остается на сервере и накапливается, если я не RDP и не закрываю вручную все диалоговые окна.

Единственный способ отключить это – удалить Visual Studio Shell 2010 (интегрированный) с помощью панели управления. Побочным эффектом является то, что я больше не могу использовать SSMS.

Большинство доступных решений устарели или не работают. Параметры реестра больше не применимы, и большинство статей, посвященных этой проблеме, являются старыми. Официальная документация Microsoft – это крысиное гнездо неработающих ссылок. Более того, многие пользователи путают диалог отладки IE script с этой проблемой. Хотя они связаны и похожи, эта конкретная проблема связана с средой выполнения Visual Studio.

ASIDE: Я не могу поверить, что Microsoft имеет эту “функцию” на продукте, который установлен на производственном сервере. Я просто покрыт некомпетентностью многомиллиардной корпорации. Я видел, как мой вопрос задавался с по крайней мере с 2005 года без официального решения, которое работает. Я просто должен попросить последний раз проверить здравомыслие. Я хочу убедиться, что я не тот, кто “толст” в голове здесь.

Вы должны отключить отладку Jist-In-Time, используя диалог “Параметры отладки” внутри Visual Studio. Ключи реестра также хорошо описаны здесь.

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

Чтобы отключить отладку Just-In-Time, отредактировав реестр

В меню “Пуск” выберите “Выполнить”.
В диалоговом окне “Запуск” введите regedit и нажмите “ОК”.
В окне редактора реестра найдите и удалите следующие разделы реестра:

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

Не производите случайного удаления или изменения других разделов реестра.

Вместо того, чтобы удалять его, вы можете просто (временно) переименовать клавишу AeDebug для того, чтобы битбивость по вашему выбору была чем-то еще, например. AeDebug-disable!

Что работала в старой школе, переименовавшей исполняемый файл JIT Debug.

Переименованы эти файлы.

Переименована в эту папку

Как продолжение nfox answer, я создал файл реестра, который можно просто использовать вместо поиска вручную через regedit.exe.

1.) Скопируйте этот script в буфер обмена:

например. в файл с именем

3.) Дважды щелкните файл

После подтверждения появляющегося окна сообщения ключи удаляются.

5.) Альтернативно: Загрузите файл

Если это слишком много, вы можете скачать файл реестра здесь:

Загрузите, а затем дважды щелкните по нему.

Этот совет был просто взят из статьи MSDN “” Отладка вовремя в Visual Studio“.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *