Как исправить ошибку visual studio just in time debugger
Наш сервер сборки (настоятельно рекомендуется TeamCity) запускает целую кучу наборов тестов для нашей готовой программы на C ++.
Кто-нибудь знает способ гарантировать, что любое необработанное исключение в программе не приведет к модальному диалогу?
Удалите (или переименуйте) c: \ windows \ system32 \ vsjitdebugger.exe.
Я попытался удалить ключи реестра, и я попытался снять все флажки в параметрах Visual Studio, но ни один из них не работал.
Чтобы было ясно, моя ситуация не была связана с C ++. Я использовал Micro Focus COBOL для Visual Studio 2010, и, используя реестр и предложения по параметрам VS, мне удалось избавиться от вопроса «Хотите отладить?». диалог, но это привело к другому диалогу, чтобы задержать мой автоматизированный процесс:
Visual Studio Just-In-Time отладчик
Необработанное исключение («среда выполнения COBOL: обнаружена ошибка») в CASDBC.exe [3564]. Своевременная отладка этого исключения завершилась неудачно из-за следующей ошибки: Ни в одном установленном отладчике не включена своевременная отладка. В Visual Studio отладку Just-In-Time можно включить из Tools / Options / Debugging / Just-In-Time.
Дополнительную информацию см. В указателе документации на предмет «Своевременная отладка, ошибки».
Я бы не рекомендовал редактировать / удалять рег. Обычно реестр представляет собой беспорядок, с которым можно поиграть.
Решение, которое мне помогает, довольно простое. Я только что добавил JIT-отладчик в свою Visual Studio. Шаги:
Открыть Windows Control panel
Programs and Features
Найдите Visual Studio 2017
После перезагрузки VS ошибка должна быть исправлена.
В моем случае на сервере win2012 я пробовал:
- удаление ключей реестра
- удаление exe для jit-отладчика из c: \ windows \ system32
И он все же всплыл!
Я перезагрузился и т. Д. Делал мой веб-сайт в стойке IIS, пока диалог не был подтвержден!
Окончательное решение, которое действительно сработало: На панели управления, в разделе «Программы»: удалено «Microsoft Visual Studion 2010 Shell (Изолированный)». Удалено это, и проблема решена.
(Работает ли еще SQL Management Studio . я не знаю!)
В окне для вопроса
Вы хотите выполнить отладку с помощью выбранного отладчика?
Нажмите ДА (открывается новое окно)> ОПЦИИ (меню в верхней строке)> ОТЛАДКА
Лучшее решение этой проблемы - это так просто 2 шага, чтобы сделать это, откройте тип приглашения cmd: regedit перейдите по пути -> HKEY_LOCAL_MACHINE -> ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ -> Microsoft -> Windows NT -> CurrentVersion -> AeDebug Вы можете Теперь найдите файл: щелкните правой кнопкой мыши в отладчике, измените, скопируйте и вставьте в него этот текст:
Извини, но рано тебе еще программировать. На курсы, дружок, на курсы. Пусть тебя там прежде всего научат аккуратности. А то ставишь небось все, что попадает в поле зрения и лишь потом решаешь, нужно ли.
Снеси "студию". Если не поможет, то все остальные инструментальные среды, имеющие в составе отладчики сборок, подобные 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 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-отладку из реестра 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.
Включить 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:
Для получения дополнительной информации см. DebuggableAttribute. For more information, see DebuggableAttribute.
Использовать JIT-отладку Use Just-In-Time debugging
В этом примере рассматривается JIT-отладка, когда приложение выдает ошибку. This example walks you through Just-In-Time debugging when an app throws an error.
Убедитесь, что 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.
Устранение несвоевременной отладки Troubleshoot Just-In-Time debugging
Отчеты об ошибках 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.
Our buildserver (TeamCity, much recommended), runs our a whole bunch of testsuites on our finished c++ program.
Does anybody know of a way to ensure that any unhandled exception in a program does not result in any modal dialog?
6 Answers 6
After Visual Studio is installed on a server, the default behavior when an unhandled exception occurs is to show an Exception dialog that requires user intervention to either start Just-In-Time debugging or ignore the exception. This may be undesirable for unattended operation. To configure the server to no longer show a dialog when an unhandled exception occurs (the default behavior prior to installing Visual Studio), use the registry editor to delete the following registry keys:
On a 64-bit operating system also delete the following registry keys:
Delete (or rename) c:windowssystem32vsjitdebugger.exe.
I tried deleting the registry keys, and I tried unchecking all the boxes in the Visual Studio options, but neither worked.
Visual Studio Just-In-Time Debugger
наш buildserver (TeamCity, очень рекомендуется) запускает целую кучу тестов на нашей готовой программе c++.
кто-нибудь знает способ гарантировать, что любое необработанное исключение в программе не приведет к модальному диалогу?
удалить (или переименовать) c:\windows\system32\vsjitdebugger.исполняемый.
Я попытался удалить ключи реестра, и я попытался снять все флажки в параметрах Visual Studio, но ни один из них не работал.
чтобы быть ясным, моя ситуация не была C++. Я использовал Micro Focus COBOL для Visual Studio 2010, и с помощью предложений реестра и параметров VS мне удалось избавиться от "хотите отлаживать?"диалог, но это привело к другому диалогу, чтобы задержать мой автоматический процесс:
Visual Studio Just-In-Time Debugger
необработанное исключение ('COBOL runtime: обнаружена ошибка') произошло в CASDBC.exe [3564]. Отладка Just-In-Time это исключение завершилось со следующей ошибкой: не установлен отладчик только в режиме отладки. В Visual Studio, Просто-В-Время отладка может быть включена из Tools/Options/Debugging / Just-In-Time.
Проверьте индекс документации для " Just-in-time отладки, ошибки для подробная информация.
в моем случае, на сервере win2012, я попробовал:
- удаление ключей реестра
- удаление exe для отладчика jit из c:\windows\system32
и он все-таки подошел!
Я перезагрузился и т. д. Делал мой веб-сайт в IIS stall, пока диалог не был подтвержден!
окончательное решение, которое действительно работало: в панели управления, в программах: удален "Microsoft Visual Studion 2010 Shell (Isolated)" удалил это, и проблема разрешенный.
(работает ли среда SQL Management Studio. Я не знаю!)
в окне для вопроса
вы хотите отлаживать с помощью выбранного отладчика?
клик да (откроется в новом окне) > опции (Меню верхнего ряда)> DEBUG
лучшее решение этой проблемы настолько просто 2 шага, чтобы сделать это откройте командную строку введите : regedit перейдите к пути-->HKEY_LOCAL_MACHINE-->программное обеспечение-->Microsoft-->Windows NT-->CurrentVersion-->AeDebug Теперь вы можете найти файл : отладчик щелкните правой кнопкой мыши , изменить скопируйте и вставьте этот текст в нем:
Чтобы не утомлять тебя, я коротко расскажу. Две машины, одинаковые системы на них, одинаковые программы (в основном). На одном установлена 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. Я переустановил эту программу в другую папку (еще один диск в комп), и в моем случае это сработало.
Читайте также: