Оперативная отладка jit как включить windows 10
Чтобы не утомлять вас, я расскажу короткую историю. Две машины, идентичные системы на них, идентичные программы (в основном). У одного есть 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.
Если необходимо, я готов отключить все виды отладки, чтобы эта вещь работала постоянно (в основном использовать заявления печати в любом случае), если это поможет. И если это возможно.
Извини, но рано тебе еще программировать. На курсы, дружок, на курсы. Пусть тебя там прежде всего научат аккуратности. А то ставишь небось все, что попадает в поле зрения и лишь потом решаешь, нужно ли.
Снеси "студию". Если не поможет, то все остальные инструментальные среды, имеющие в составе отладчики сборок, подобные JIT. Если и это не поможет, переставь систему, и.. .
1) Читай побольше об альтернативных средах разработки, прежде чем выбрать и поставить, для начала одну и тлько одну из них! Освой как следует ее управляющие и конфигурирующие средства, прежде чем пробовать что-то еще.
2) Не ленись сносить имеющуюся версию (редакцию) какого-либо продукта уровня "студии", прежде чем поставить другую.
JIT-отладка может автоматически запускать Visual Studio, когда приложение выполняется за пределами ошибок или сбоев в Visual Studio. Just-In-Time debugging can launch Visual Studio automatically when an app running outside Visual Studio errors or crashes. При JIT-отладке можно протестировать приложения за пределами Visual Studio и открыть Visual Studio, чтобы начать отладку в случае возникновения проблемы. With Just-In-Time debugging, you can test apps outside of Visual Studio, and open Visual Studio to begin debugging when a problem occurs.
JIT-отладка работает для классических приложений Windows. Just-In-Time debugging works for Windows desktop apps. Он не работает для универсальных приложений Windows или для управляемого кода, размещенного в собственном приложении, например в визуализаторах. It does not work for Universal Windows Apps, or for managed code that is hosted in a native application, such as Visualizers.
Если вы просто хотите запретить отображение диалогового окна отладчика JIT, но не установлен Visual Studio, см. раздел отключение JIT-отладчика. If you just want to stop the Just-In-Time Debugger dialog box from appearing, but don’t have Visual Studio installed, see Disable the Just-In-Time Debugger. Если у вас установлен Visual Studio, может потребоваться Отключить JIT-отладку из реестра Windows. If you once had Visual Studio installed, you may need to disable Just-In-Time debugging from the Windows registry.
Disable Just-In-Time debugging from the Windows registry
Just-In-Time debugging may still be enabled even if Visual Studio is no longer installed on your computer. If Visual Studio is no longer installed, you can disable Just-In-Time debugging by editing the Windows registry.
To disable Just-In-Time debugging by editing the registry:
From the Windows Start menu, run the Registry Editor (regedit.exe).
In the Registry Editor window for 64-bit computers, locate and delete the following registry entries:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
If the following registry entries are present, or your computer is running a 32-bit operating system, delete the following entries:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
Make sure not to delete or change any other registry keys.
Close the Registry Editor window.
Enable Just-In-Time debugging of a Windows Form
By default, Windows Form apps have a top-level exception handler that lets the app keep running if it can recover. If a Windows Forms app throws an unhandled exception, it shows the following dialog:
To enable Just-In-Time debugging instead of standard Windows Form error handling, add these settings:
In the system.windows.forms section of the machine.config or .exe.config file, set the jitDebugging value to true :
In a C++ Windows Form application, also set DebuggableAttribute to true in a .config file or in your code. If you compile with /Zi and without /Og, the compiler sets this attribute for you. If you want to debug a non-optimized release build, however, you must set DebuggableAttribute by adding the following line in your app's AssemblyInfo.cpp file:
Включение или отключение JIT-отладки в Visual Studio
Чтобы включить или отключить JIT-отладку, необходимо запустить Visual Studio от имени администратора. Включение или отключение JIT-отладки устанавливает раздел реестра. Для его изменения требуются права администратора. Откройте Visual Studio с правами администратора, щелкнув приложение Visual Studio правой кнопкой мыши и выбрав Запуск от имени администратора.
JIT-отладку можно настроить в диалоговом окне Visual Studio Сервис > Параметры (или Отладка > Параметры).
Включение или отключение JIT–отладки
В меню Сервис или Отладка выберите Параметры > Отладка > JIT.
В поле Включить JIT-отладку для этих типов кода выберите типы кода, которым требуется JIT-отладка: Управляемый, Собственный и (или) Скрипт.
Если вы включили JIT-отладчик, но он не открывается при сбоях или ошибках приложения, см. раздел Устранение неполадок с JIT-отладкой.
Устранение несвоевременной отладки Troubleshoot Just-In-Time debugging
Если JIT-отладка не запускается при сбое приложения, даже если она включена в Visual Studio: If Just-In-Time debugging doesn’t start when an app crashes, even though it is enabled in Visual Studio:
Отчеты об ошибках Windows может затронуть обработку ошибок на компьютере. Windows Error Reporting could be taking over the error handling on your computer.
Чтобы устранить эту проблему, добавьте в редактор реестра параметр DWORD disabledс параметром value , равным 1, в следующие разделы реестра: To fix this issue, use Registry Editor to add a DWORD Value of Disabled, with Value data of 1, to the following registry keys:
Отчеты об ошибках HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsWindows HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsWindows Error Reporting
(Для 64-разрядных компьютеров): HKEY_LOCAL_MACHINESoftwareWOW6432NodeMicrosoftWindowsWindows отчеты об ошибках (For 64-bit machines): HKEY_LOCAL_MACHINESoftwareWOW6432NodeMicrosoftWindowsWindows Error Reporting
Дополнительные сведения см. в разделе . Параметры WER. For more information, see .WER settings.
Известная проблема Windows может привести к сбою JIT-отладчика. A known Windows issue may be causing the Just-In-Time debugger to fail.
Исправление состоит в том, чтобы добавить в следующие разделы реестра значение типа DWORD Autoсо значением 1. The fix is to add a DWORD Value of Auto, with Value data of 1, to the following registry keys:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAeDebug HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAeDebug
(Для 64-разрядных компьютеров): HKEY_LOCAL_MACHINESoftwareWOW6432NodeMicrosoftWindows нткуррентверсионаедебуг (For 64-bit machines): HKEY_LOCAL_MACHINESoftwareWOW6432NodeMicrosoftWindows NTCurrentVersionAeDebug
Не удается присоединиться к аварийному процессу. Указанная программа не является программой Windows или MS-DOS. Unable to attach to the crashing process. The specified program is not a Windows or MS-DOS program.
Отладчик попытался подключиться к процессу, выполняющемуся под другим пользователем. The debugger tried to attach to a process running under another user.
Чтобы обойти эту проблему, в Visual Studio откройте отладка > присоединить к процессуи найдите процесс, который необходимо отладить, в списке Доступные процессы . To work around this problem, in Visual Studio, open Debug > Attach to Process, and find the process you want to debug in the Available Processes list. Если имя процесса неизвестно, найдите идентификатор процесса в диалоговом окне JIT-отладчик Visual Studio . If you do not know the name of the process, find the Process ID in the Visual Studio Just-In-Time Debugger dialog. Выберите процесс в списке Доступные процессы и нажмите кнопку присоединить. Select the process in the Available Processes list, and select Attach. Выберите нет , чтобы закрыть диалоговое окно JIT-отладчик. Select No to dismiss the Just-In-Time debugger dialog.
Не удалось запустить отладчик, так как пользователь не вошел в систему. Debugger could not be started because no user is logged on.
Пользователь не вошел в консоль, поэтому сеанс пользователя для вывода диалогового окна JIT-отладки отсутствует. There is no user logged onto the console, so there is no user session to display the Just-In-Time debugging dialog.
Для решения этой проблемы необходимо войти в компьютер. To fix this problem, log onto the machine.
Чтобы устранить эту проблему, используйте Visual Studio Installer для переустановки или восстановления установки Visual Studio. To fix this problem, use the Visual Studio Installer to reinstall or repair your Visual Studio installation.
JIT-отладка автоматически запускает Visual Studio при возникновении ошибок или сбоев в приложении, запущенном вне Visual Studio. С помощью JIT-отладки можно тестировать приложения за пределами Visual Studio и открыть Visual Studio, чтобы начать отладку в случае проблемы.
JIT-отладка работает для классических приложений Windows. Она не работает для универсальных приложений Windows или управляемого кода, размещенного в приложении машинного кода, например для визуализаторов.
Если вы просто хотите запретить отображение диалогового окна JIT-отладчика, но у вас не установлена Visual Studio, см. раздел Отключение JIT-отладчика. Если набор средств Visual Studio был ранее установлен, но теперь его нет, придется отключить JIT-отладку через реестр Windows.
Метод №2 Выполнение чистого запуска
- нажмите комбинацию Windows+R;
- впишите команду «msconfig» и нажмите Enter;
- перейдите во вкладку «Загрузка» и уберите галочку с пункта «Безопасный режим»;
- пройдите в «Общие», выберите «Выборочный запуск» и уберите галочку с пункта «Загружать элементы автозагрузки»;
- перейдите во вкладку «Службы», поставьте галочку возле «Не отображать службы Майкрософт» и нажмите кнопку «Отключить все»;
- во вкладке «Автозагрузка» нажмите на пункт «Открыть диспетчер задач»;
- во вкладке «Автозагрузка» диспетчера задач нажмите правой кнопкой мыши на каждую из программ и выберите «Отключить»;
- перезагрузите компьютер, а затем активируйте каждый из отключенных элементов поочередно, чтобы понять, в чем заключалась проблема.
Возможно, именно одна из отключенных проблем и вызывала ошибку «Необрабатываемое исключение в приложении».
Возможные проблемы
- Щелкните ПКМ по иконке «Пуск».
- Откройте Командную строку с правами Администратора.
- Введите запрос «bcdedit /set advancedoptions true».
Следом произойдет перезапуск, и расширенные параметры откроются в принудительном порядке. Еще одна проблема связана с выходом из отладки. Чтобы компьютер включался в стандартной конфигурации, необходимо обработать запрос «deletevalue». Впечатать «bcdedit /deletevalue advancedoptions» в вышеупомянутой Командной строке или на появившемся синем экране выбрать опцию «Продолжить».
Метод №1 Удаление антивируса
Бесплатные антивирусы могут достаточно полезны в качестве защитника вашей системы, однако они также могут вызывать множество проблем на компьютере. Попробуйте заменить антивирус, который вы используйте в данный момент, на другой. Вот что вам потребуется сделать, чтобы удалить антивирус:
- нажмите правой кнопкой мыши на Пуск;
- кликните на пункт «Приложения и возможности»;
- найдите в списке установленных приложений ваш антивирус и выберите его;
- нажмите на кнопку «Удалить»;
- проследуйте инструкциям на экране для удаления антивируса;
- перезагрузите компьютер.
Проверьте, появляется ли ошибка «Необрабатываемое исключение в приложении» теперь, когда старого антивируса больше нет. Если проблема решена, то дело действительно заключалось в антивирусе, препятствующим нормальной работе вашей системы.
Метод №4 Использование утилиты SFC
- нажмите Windows+R;
- напишите в пустую строчку «cmd» и нажмите Enter;
- впишите в вызванную командную строку «sfc /scannow» и нажмите Enter;
- по окончанию работы программы перезагрузите компьютер.
Использовав предложенные методы, вы обязательно устраните ошибку «Необрабатываемое исключение в приложении».
Компьютеры на базе Windows 10 поддерживают несколько способов запуска. Среднестатистические пользователи не придают этой опции значения, включая ПК в обычном режиме, когда доступны все основные службы. Но параллельно с этим существует режим отладки на операционной системе Windows 10, который может пригодиться опытным юзерам, желающим провести диагностику своего устройства.
Как его включить?
Чтобы приступить к поиску и устранению неисправностей, необходимо перейти в режим Debugging. Для этого понадобится открыть меню с разными вариантами загрузки по следующему алгоритму:
- Перейдите в раздел «Обновление и безопасность», а затем – «Восстановление».
- Под заголовком «Особые варианты загрузки» нажмите на кнопку «Перезагрузить сейчас».
На заметку. Также вы можете открыть дополнительное меню, зажав клавишу «Shift» при выборе варианта «Перезагрузка» в «Пуске».
В случае правильного выполнения указанных действий компьютер перезагрузится, а при следующем включении вы увидите синий экран с выбором действий. Можно нажать на кнопку «Продолжить», чтобы запустить ПК в стандартном режиме, но нас интересует Debugging, поэтому действуйте иначе:
- Перейдите в раздел «Поиск и устранение неисправностей».
- Выберите «Дополнительные параметры», а затем – «Параметры загрузки».
- Найдите в списке пункт, отвечающий за отладку, и нажмите на клавишу, которая отвечает за ее активацию (как правило, это клавиша «F1»).
После этого устройство включится вместе с отладочным окном, которое поможет выполнить различные манипуляции для диагностики и решения проблем. Также в рассматриваемом режиме любые ошибки сохраняются в виде отдельных файлов «логов», аналогичным образом помогающих установить причины неполадок и своевременно устранить их.
Причины ошибки «Необрабатываемое исключение в приложении»
Enable or disable Just-In-Time debugging in Visual Studio
To enable or disable Just-In-Time debugging, you must be running Visual Studio as an administrator. Enabling or disabling Just-In-Time debugging sets a registry key, and administrator privileges may be required to change that key. To open Visual Studio as an administrator, right-click the Visual Studio app and choose Run as administrator.
You can configure Just-In-Time debugging from the Visual Studio Tools > Options (or Debug > Options) dialog box.
To enable or disable Just-In-Time debugging:
On the Tools or Debug menu, select Options > Debugging > Just-In-Time.
In the Enable Just-In-Time debugging for these types of code box, select the types of code you want Just-In-Time debugging to debug: Managed, Native, and/or Script.
Select OK.
If you enable the Just-In-Time debugger, but it doesn't open when an app crashes or errors, see Troubleshoot Just-In-Time debugging.
Что такое режим отладки в Windows 10
Для определения того, что собой представляет данный режим, необходимо определить значение слова «отладка» («Debugging»). В сфере компьютерной техники ею называют процесс, позволяющий найти и устранить ошибки, связанные с работой ПК.
Режим отладки позволяет решить массу проблем – от небольших сбоев Windows 10 до полного отказа от работы. Впрочем, к нему следует обращаться только опытным пользователям, которые способны найти объяснение каждому своему шагу. В остальных случаях, когда речь идет о новичке, исключать возможность применения режима тоже нельзя. Но в такой ситуации важно изучить инструкцию по активации Debugging и способах его применения на практике.
Использовать JIT-отладку Use Just-In-Time debugging
В этом примере рассматривается JIT-отладка, когда приложение выдает ошибку. This example walks you through Just-In-Time debugging when an app throws an error.
Для выполнения этих действий необходимо установить Visual Studio. You must have Visual Studio installed to follow these steps. Если у вас нет Visual Studio, вы можете скачать бесплатный выпуск Visual Studio Community Edition. If you don’t have Visual Studio, you can download the free Visual Studio Community Edition.
Убедитесь, что JIT-отладка включена в средствах > Параметры > Отладка > JIT. Make sure Just-In-Time debugging is enabled in Tools > Options > Debugging > Just-In-Time.
Когда проект откроется в Visual Studio, откройте файл Program.CS . When the project opens in Visual Studio, open the Program.cs file. Замените метод Main () следующим кодом, который выводит строку на консоль, а затем создает исключение NullReferenceException: Replace the Main() method with the following code, which prints a line to the console and then throws a NullReferenceException:
Чтобы выполнить сборку решения, выберите вариант Отладка (по умолчанию) или конфигурация выпуска , а затем выберите Сборка > Перестроить решение. To build the solution, choose either the Debug (default) or Release configuration, and then select Build > Rebuild Solution.
- Выберите Конфигурация отладки для полной отладки. Choose Debug configuration for the full debugging experience.
- Если выбран параметр Конфигурация выпуска , необходимо отключить только мой код , чтобы эта процедура работала. If you select Release configuration, you must turn off Just My Code for this procedure to work. В разделе сервис >Параметры >отладкаснимите флажок включить только мой код. Under Tools >Options >Debugging, deselect Enable Just My Code.
Дополнительные сведения о конфигурациях сборки см. в разделе Общие сведения о конфигурациях сборки. For more information about build configurations, see Understanding build configurations.
Вы должны увидеть следующее командное окно: You should see the following command window:
Откроется диалоговое окно Выбор JIT-отладчика . The Choose Just-In-Time Debugger dialog opens.
В разделе Доступные отладчикивыберите новый экземпляр Visual Studio Version/Edition, если он еще не выбран. Under Available Debuggers, select New instance of , if not already selected.
Проект Сровснуллексцептион открывается в новом экземпляре Visual Studio с выполнением остановки в строке, вызвавшей исключение: The ThrowsNullException project opens in a new instance of Visual Studio, with execution stopped at the line that threw the exception:
На этом этапе можно начать отладку. You can start debugging at this point. При отладке реального приложения необходимо выяснить, почему код создает исключение. If you were debugging a real app, you would need to find out why the code is throwing the exception.
Если приложение содержит ненадежный код, появляется диалоговое окно предупреждения системы безопасности, позволяющее решить, следует ли продолжить отладку. If your app contains untrusted code, a security warning dialog box appears, enabling you to decide whether to proceed with debugging. Прежде чем продолжить отладку, решите, доверяете ли вы этому коду. Before you continue debugging, decide whether you trust the code. Этот код написан вами самостоятельно? Did you write the code yourself? Если приложение выполняется на удаленном компьютере, узнаете ли вы имя процесса? If the application is running on a remote machine, do you recognize the name of the process? Если приложение запущено локально, рассмотрите возможность запуска вредоносного кода на компьютере. If the app is running locally, consider the possibility of malicious code running on your computer. Если вы решили, что код заслуживает доверия, нажмите кнопку ОК. If you decide the code is trustworthy, select OK. В противном случае нажмите кнопку Отмена. Otherwise, select Cancel.
Использование JIT-отладки
В этом примере рассматривается JIT-отладка, когда приложение выдает ошибку.
Для выполнения инструкций необходимо установить Visual Studio. Если у вас нет Visual Studio, вы можете скачать бесплатный выпуск Visual Studio Community.
Убедитесь, что JIT-отладка включена в разделе Сервис > Параметры > Отладка > JIT.
Когда проект откроется в Visual Studio, откройте файл Program.cs. Замените метод Main() следующим кодом, который выводит строку на консоль, а затем создает исключение NullReferenceException:
Чтобы выполнить сборку решения, выберите конфигурацию Отладка (по умолчанию) или Выпуск, а затем нажмите Сборка > Перестроить решение.
- Выберите конфигурацию Отладка для полной отладки.
- Если выбрана конфигурация Выпуск, необходимо отключить функцию Только мой код. В разделе Сервис >Параметры >Отладка снимите флажок Включить только мой код.
Дополнительные сведения о конфигурациях сборки см. в разделе Общие сведения о конфигурациях сборки.
Вы увидите следующее окно команд:
Откроется диалоговое окно Выбор JIT-отладчика.
В разделе Доступные отладчики выберите параметр Новый экземпляр , если он еще не выбран.
Проект ThrowsNullException открывается в новом экземпляре Visual Studio, а выполнение остановлено в строке, вызвавшей исключение:
Теперь можно начать отладку. При отладке реального приложения необходимо выяснить, почему код создает исключение.
Если приложение содержит ненадежный код, появляется диалоговое окно предупреждения системы безопасности, позволяющее решить, следует ли продолжить отладку. Перед продолжением отладки решите, доверяете ли вы данному коду. Этот код написан вами самостоятельно? Если приложение выполняется на удаленном компьютере, узнаете ли вы имя процесса? Если приложение выполняется локально, учитывайте возможность выполнения такого вредоносного кода на вашем компьютере. Если вы решили, что код заслуживает доверия, нажмите ОК. В противном случае нажмите кнопку Отмена.
Включение и отключение JIT-отладки в Visual Studio Enable or disable Just-In-Time debugging in Visual Studio
Чтобы включить или отключить JIT-отладку, необходимо запустить Visual Studio от имени администратора. To enable or disable Just-In-Time debugging, you must be running Visual Studio as an administrator. Включение или отключение JIT-отладки задает раздел реестра, а для изменения этого ключа могут потребоваться права администратора. Enabling or disabling Just-In-Time debugging sets a registry key, and administrator privileges may be required to change that key. Чтобы открыть Visual Studio от имени администратора, щелкните правой кнопкой мыши приложение Visual Studio и выберите Запуск от имени администратора. To open Visual Studio as an administrator, right-click the Visual Studio app and choose Run as administrator.
JIT-отладку можно настроить в диалоговом окне параметры > средств Visual Studio (или Отладка > параметров). You can configure Just-In-Time debugging from the Visual Studio Tools > Options (or Debug > Options) dialog box.
Включение или отключение JIT–отладки To enable or disable Just-In-Time debugging:
В меню Сервис или Отладка выберите Параметры > Отладка > JIT. On the Tools or Debug menu, select Options > Debugging > Just-In-Time.
В поле включить JIT-отладку для этих типов кода выберите типы кода, которые должны быть JIT-отладка для отладки: управляемые, собственныеи (или) скрипты. In the Enable Just-In-Time debugging for these types of code box, select the types of code you want Just-In-Time debugging to debug: Managed, Native, and/or Script.
Если включить JIT-отладчик, но он не открывается при сбоях или ошибках приложения, см. раздел Устранение неполадок JIT-отладки. If you enable the Just-In-Time debugger, but it doesn’t open when an app crashes or errors, see Troubleshoot Just-In-Time debugging.
Отключить JIT-отладку из реестра Windows Disable Just-In-Time debugging from the Windows registry
JIT-отладка может оставаться включенной даже после удаления Visual Studio с компьютера. Just-In-Time debugging may still be enabled even if Visual Studio is no longer installed on your computer. Если Visual Studio больше не установлена, можно отключить JIT-отладку, изменив реестр Windows. If Visual Studio is no longer installed, you can disable Just-In-Time debugging by editing the Windows registry.
Отключение JIT-отладки путем редактирования реестра To disable Just-In-Time debugging by editing the registry:
В меню " Пуск " Windows запустите редактор реестра (regedit. exe). From the Windows Start menu, run the Registry Editor (regedit.exe).
В окне редактора реестра выберите и удалите следующие записи реестра: In the Registry Editor window, locate and delete the following registry entries:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAeDebugDebugger HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionAeDebugDebugger
Если компьютер работает под управлением 64-разрядной операционной системы, также удалите следующие записи реестра: If your computer is running a 64-bit operating system, also delete the following registry entries:
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindows NTCurrentVersionAeDebugDebugger HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindows NTCurrentVersionAeDebugDebugger
Не удаляйте или не изменяйте другие разделы реестра. Make sure not to delete or change any other registry keys.
Закройте окно редактора реестра . Close the Registry Editor window.
Troubleshoot Just-In-Time debugging
If Just-In-Time debugging doesn't start when an app crashes, even though it is enabled in Visual Studio:
Windows Error Reporting could be taking over the error handling on your computer.
To fix this issue, use Registry Editor to add a DWORD Value of Disabled, with Value data of 1, to the following registry keys:
HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\Windows Error Reporting
(For 32-bit machines) HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting
For more information, see .WER settings.
A known Windows issue may be causing the Just-In-Time debugger to fail.
The fix is to add a DWORD Value of Auto, with Value data of 1, to the following registry keys:
HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug
(For 32-bit machines) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
You might see the following error messages during Just-In-Time debugging:
Unable to attach to the crashing process. The specified program is not a Windows or MS-DOS program.
The debugger tried to attach to a process running under another user.
To work around this problem, in Visual Studio, open Debug > Attach to Process (or press Ctrl + Alt + P), and find the process you want to debug in the Available Processes list. If you do not know the name of the process, find the Process ID in the Visual Studio Just-In-Time Debugger dialog. Select the process in the Available Processes list, and select Attach. Select No to dismiss the Just-In-Time debugger dialog.
Debugger could not be started because no user is logged on.
There is no user logged onto the console, so there is no user session to display the Just-In-Time debugging dialog.
To fix this problem, log onto the machine.
Class not registered.
The debugger tried to create a COM class that is not registered, probably due to an installation problem.
To fix this problem, use the Visual Studio Installer to reinstall or repair your Visual Studio installation.
В логе ошибки было сказано кроме всего прочего,если нужно остальное напишу в ЛС:
************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.
О ЧЕМ ИДЕТ РЕЧЬ И КАК ЭТО НАСТРОИТЬ?МОЖЕТЕ ОБЪЯСНИТЬ ПОДРОБНО?
Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.
JIT-отладка автоматически запускает Visual Studio при возникновении исключения или неустранимой ошибки в программе, запущенной вне Visual Studio. Это позволяет тестировать приложение, не запуская Visual Studio, и начинать отладку в Visual Studio при возникновении проблемы.
JIT-отладка не работает для приложений для Магазина Windows. JIT-отладка не работает для управляемого кода, размещенного в приложении машинного кода, например для визуализаторов.
При установке Visual Studio JIT-отладка включается по умолчанию. Если требуется отключить или снова включить JIT-отладку, см. раздел Пошаговое выполнение "только моего кода".
Необработанное исключение ("System.TypeInitializationException") в terrarium.exe[3384]
Когда открывается это диалоговое окно, можно начать отладку с помощью следующей процедуры.
Запуск JIT-отладки в случае возникновения ошибки
В диалоговом окне "JIT-отладка" в списке Доступные отладчики выберите пункт Новый экземпляр Visual Studio 2015 или выберите уже работающий экземпляр Visual Studio.
Чтобы автоматически использовать Visual Studio для всех будущих сбоев, выберите команду Использовать выбранный отладчик по умолчанию.
Если нужно выбрать типы кода для отладки, нажмите кнопку Выбрать отладчики вручную. Если этого не сделать, Visual Studio автоматически выбирает отладчики, подходящие для типа кода в приложении.
Если приложение содержит сборку с недоверенным кодом, появится диалоговое окно с предупреждением системы безопасности. Это диалоговое окно позволяет выбрать, следует ли продолжать отладку или нет. Перед продолжением отладки решите, доверяете ли вы данному коду. Этот код написан вами самостоятельно? Доверяете ли вы автору кода? Если приложение выполняется на удаленном компьютере, узнаете ли вы имя процесса? Даже если приложение выполняется на локальном компьютере, это не обязательно означает, что ему можно доверять. Например, в браузере Internet Explorer мог быть запущен вредоносный элемент управления ActiveX. Учитывайте возможность выполнения такого вредоносного кода на вашем компьютере. Если вы решите, что можете доверять коду, который требуется отлаживать, нажмите Отладить. В противном случае нажмите кнопку Не отлаживать.
JIT-отладку можно включить или отключить из диалогового окна Параметры.
Включение или отключение JIT–отладки
В меню Сервис выберите пункт Параметры.
В окне Параметры выберите папку Отладка.
В папке Отладка выберите страницу JIT.
В поле Включить JIT–отладку для следующих типов кода выберите или отмените выбор соответствующих типов программ: Управляемый, Машинный или Скрипт.
Чтобы отключить JIT–отладку, если она была включена, необходимы права администратора. Включение JIT–отладки устанавливает раздел реестра. Для его изменения требуются права администратора.
По умолчанию для приложений Windows Forms имеется обработчик исключений верхнего уровня, позволяющий программе продолжать работу, если возможно восстановление после ошибки. В результате для включения JIT-отладки для приложений Windows Forms необходимо выполнить следующие дополнительные действия.
Включение JIT-отладки для приложений Windows Forms
Присвойте значение jitDebugging параметру true , который находится в разделе system.windows.form файла machine.config или файла приложение.exe.config:
Для приложений Windows Form, написанных на языке C++, в файле CONFIG или в коде должен быть задан атрибут DebuggableAttribute . Если компиляция выполняется с опцией /Zi, но без опции /Og, компилятор сам задаст этот атрибут. Однако если требуется отладка неоптимизированного построения выпуска, этот атрибут необходимо задать самостоятельно. Для этого добавьте следующую строку в файл AssemblyInfo.cpp своего приложения:
Для получения дополнительной информации см. DebuggableAttribute.
JIT-отладка может оставаться включенной даже после удаления Visual Studio с компьютера. Если Visual Studio не установлен, JIT-отладку невозможно отключить из диалогового окна Параметры Visual Studio. В таком случае JIT-отладку можно отключить, отредактировав реестр Windows.
Отключение JIT-отладки путем редактирования реестра
В меню Пуск найдите и запустите regedit.exe .
В окне Редактор реестра найдите и удалите следующие разделы реестра:
Если на компьютере установлена 64-разрядная операционная система, также удалите следующие разделы реестра:
Будьте внимательны, чтобы случайно не удалить или не изменить какие-либо другие разделы реестра.
Закройте окно Редактор реестра.
Не удалось подключиться к аварийно завершающему выполнение процессу. Указанная программа не является программой Windows или MS–DOS.
Эта ошибка возникает при попытке подключиться к процессу в качестве другого пользователя под управлением Windows 2000.
Чтобы обойти эту проблему, запустите Visual Studio, откройте диалоговое окно Присоединение к процессу в меню Отладка и найдите процесс, для которого требуется выполнить отладку, в списке Доступные процессы. Если имя процесса не известно, откройте диалоговое окно JIT–отладчик Visual Studio и запомните идентификатор процесса. Выберите процесс в списке Доступные процессы и щелкните Присоединить. В диалоговом окне JIT–отладчик Visual Studio выберите Нет, чтобы закрыть диалоговое окно.
Не удалось запустить отладчик, поскольку пользователь не вошел в систему.
Данная ошибка возникает, когда JIT–отладка пытается запустить Visual Studio на компьютере, на котором нет пользователей, вошедших в консоль. Так как пользователи, выполнившие вход, отсутствуют, также отсутствует сеанс пользователя, в котором следовало бы отображать диалоговое окно JIT–отладки.
Для решения этой проблемы необходимо войти в компьютер.
Чтобы решить эту проблему, используйте установочный диск для переустановки или восстановления установки Visual Studio.
Необрабатываемое исключение в приложении. При нажатии кнопки «Продолжить» приложение проигнорирует ошибку и попытается продолжить работу. При нажатии кнопки «Выход» приложение немедленно завершит работу.
Компьютер пользователей также иногда могут полностью зависать при появлении данной ошибки. А иногда вместе с ошибкой могут возникать и другие проблемы, нехарактерные для стабильной работы системы. Что же вызывает эту неполадку?
Включение JIT-отладки для приложений Windows Forms
По умолчанию в приложениях Windows Forms есть обработчик исключений верхнего уровня, который позволяет приложению продолжить работу, если оно может быть восстановлено. Если приложение Windows Forms выдает необработанное исключение, отображается следующее диалоговое окно:
Чтобы включить JIT-отладку вместо стандартной обработки ошибок Windows Forms, добавьте следующие параметры.
В разделе system.windows.forms файла machine.config или .exe.config установите для параметра jitDebugging значение true :
Для приложений Windows Forms, написанных на языке C++, в файле CONFIG или коде также задайте для параметра DebuggableAttribute значение true . Если компиляция выполняется с атрибутом /Zi, но без /Og, компилятор автоматически задаст этот атрибут. Однако если требуется выполнить отладку неоптимизированной сборки выпуска, то необходимо задать DebuggableAttribute , добавив следующую строку в файл AssemblyInfo.cpp приложения:
Для получения дополнительной информации см. DebuggableAttribute.
Use Just-In-Time debugging
This example walks you through Just-In-Time debugging when an app throws an error.
You must have Visual Studio installed to follow these steps. If you don't have Visual Studio, you can download the free Visual Studio Community Edition.
Make sure Just-In-Time debugging is enabled in Tools > Options > Debugging > Just-In-Time.
When the project opens in Visual Studio, open the Program.cs file. Replace the Main() method with the following code, which prints a line to the console and then throws a NullReferenceException:
To build the solution, choose either the Debug (default) or Release configuration, and then select Build > Rebuild Solution.
- Choose Debug configuration for the full debugging experience.
- If you select Release configuration, you must turn off Just My Code for this procedure to work. Under Tools >Options >Debugging, deselect Enable Just My Code.
For more information about build configurations, see Understanding build configurations.
You should see the following command window:
The Choose Just-In-Time Debugger dialog opens.
Under Available Debuggers, select New instance of , if not already selected.
Select OK.
The ThrowsNullException project opens in a new instance of Visual Studio, with execution stopped at the line that threw the exception:
You can start debugging at this point. If you were debugging a real app, you would need to find out why the code is throwing the exception.
If your app contains untrusted code, a security warning dialog box appears, enabling you to decide whether to proceed with debugging. Before you continue debugging, decide whether you trust the code. Did you write the code yourself? If the application is running on a remote machine, do you recognize the name of the process? If the app is running locally, consider the possibility of malicious code running on your computer. If you decide the code is trustworthy, select OK. Otherwise, select Cancel.
Устранение неполадок с JIT-отладкой
Если JIT-отладка не запускается при сбое приложения, даже если она включена в Visual Studio:
Отчеты об ошибках Windows могут взять на себя обработку ошибок на компьютере.
Чтобы устранить эту проблему, используйте редактор реестра, чтобы добавить значение DWORD Отключено с параметром Данные значения, равным 1, для следующих разделов реестра:
HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\Windows Error Reporting
(Для компьютеров с 32-разрядной версией ОС) HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting
Дополнительные сведения см. в разделе Параметры .WER.
Известная проблема Windows может привести к сбою JIT-отладчика.
Исправление состоит в том, чтобы добавить значение DWORD из раздела Видимые с параметром Значение данных, равным 1, в следующие разделы реестра.
HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug
(Для компьютеров с 32-разрядной версией ОС) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
Не удалось подключиться к аварийному процессу. Указанная программа не является программой Windows или MS–DOS.
Отладчик попытался подключиться к процессу, выполняющемуся под именем другого пользователя.
Чтобы обойти эту проблему, запустите Visual Studio, откройте диалоговое окно Отладка > Присоединение к процессу (или нажмите сочетание клавиш CTRL + ALT + P) и найдите процесс, для которого требуется выполнить отладку, в списке Доступные процессы. Если имя процесса неизвестно, найдите идентификатор процесса в диалоговом окне JIT-отладчик Visual Studio. Выберите процесс в списке Доступные процессы и щелкните Присоединить. Выберите Нет, чтобы закрыть диалоговое окно JIT-отладчика.
Не удалось запустить отладчик, так как пользователь не вошел в систему.
В консоли нет пользователей, выполнивших вход, а также отсутствует сеанс пользователя, в котором следовало бы отображать диалоговое окно JIT-отладки.
Для решения этой проблемы необходимо войти в компьютер.
Чтобы решить эту проблему, используйте Visual Studio Installer для переустановки или исправления установки Visual Studio.
Just-In-Time debugging can launch Visual Studio automatically when an app running outside Visual Studio errors or crashes. With Just-In-Time debugging, you can test apps outside of Visual Studio, and open Visual Studio to begin debugging when a problem occurs.
Just-In-Time debugging works for Windows desktop apps. It does not work for Universal Windows Apps, or for managed code that is hosted in a native application, such as Visualizers.
If you just want to stop the Just-In-Time Debugger dialog box from appearing, but don't have Visual Studio installed, see Disable the Just-In-Time Debugger. If you once had Visual Studio installed, you may need to disable Just-In-Time debugging from the Windows registry.
Отключение JIT-отладки из реестра Windows
JIT-отладка может оставаться включенной даже после удаления Visual Studio с компьютера. Если Visual Studio больше не установлена, JIT-отладку можно отключить, отредактировав реестр Windows.
Отключение JIT-отладки путем редактирования реестра
В меню Windows Пуск запустите редактор реестра (regedit.exe).
В окне редактора реестра для компьютеров с 64-разрядной версией ОС найдите и удалите следующие записи реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
Если имеются указанные ниже записи реестра или на компьютере установлена 32-разрядная версия операционной системы, удалите следующие записи:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
Будьте внимательны, чтобы не удалить или не изменить другие разделы реестра.
Закройте окно Редактор реестра.
Решение ошибки «Необрабатываемое исключение в приложении»
Включить JIT-отладку формы Windows Enable Just-In-Time debugging of a Windows Form
По умолчанию приложения Windows Form имеют обработчик исключений верхнего уровня, который позволяет приложению продолжить работу, если оно может быть восстановлено. By default, Windows Form apps have a top-level exception handler that lets the app keep running if it can recover. Если Windows Forms приложение создает необработанное исключение, отображается следующее диалоговое окно: If a Windows Forms app throws an unhandled exception, it shows the following dialog:
Чтобы включить JIT-отладку вместо стандартной обработки ошибок Windows Form, добавьте следующие параметры: To enable Just-In-Time debugging instead of standard Windows Form error handling, add these settings:
В приложении C++ Windows Forms также задайте для DebuggableAttribute значение true в файле конфигурации или в коде. In a C++ Windows Form application, also set DebuggableAttribute to true in a .config file or in your code. Если компиляция выполняется с атрибутом /Zi, но без /Og, компилятор автоматически задаст этот атрибут. If you compile with /Zi and without /Og, the compiler sets this attribute for you. Однако если вы хотите выполнить отладку неоптимизированной сборки выпуска, необходимо задать DebuggableAttribute , добавив следующую строку в файл AssemblyInfo. cpp приложения: If you want to debug a non-optimized release build, however, you must set DebuggableAttribute by adding the following line in your app’s AssemblyInfo.cpp file:
Для получения дополнительной информации см. DebuggableAttribute. For more information, see DebuggableAttribute.
Читайте также: