На сервере Windows Server 2008 R2 с установленными службами удаленных рабочих столов и несколькими пользователями, вошедшими в систему, окно Just-In-Time Debugger Visual Studio может появиться в любом сеансе RDP, не обязательно в сеансе, действия которого вызвали ошибку.
Ошибки возникают в классическом приложении ASP, которое использует устаревший COM-объект VB6 и базу данных SQL Server. Похоже, ошибка в w3wp.exe
Процесс не знает, какой сеанс браузера пользователя RDP инициировал действия, приведшие к ошибке, поэтому он случайным образом выбирает сеанс RDP, в котором будет запущено окно JIT Debugger. Пока отображается диалоговое окно, классическое приложение ASP зависает для всех, независимо от того, в каком сеансе RDP они находятся или обращаются ли они к приложению удаленно. Что еще хуже, окно имеет тенденцию появляться под активные окна пользователя. Чтобы выйти из ситуации, нужно попросить каждого человека, имеющего сеанс RDP на машине, найти окно JIT Debugger и отменить его.
Есть ли способ заставить окно JIT Debugger отображаться в сеансе RDP конкретного пользователя - предпочтительно сеансе пользователя, который хочет отладить процесс?
Поскольку он находится на сервере терминалов и на рабочем сервере, удалите Visual Studio.
JIT Debugger устанавливается самостоятельно при входе в Visual Studio.
Я настоятельно рекомендую использовать локальный компьютер для ваших нужд кодирования, поскольку JIT необходимость а окна консоли.
Включение или отключение своевременной отладки
Вы можете включить или отключить своевременную отладку в диалоговом окне «Параметры». Включение или отключение своевременной отладки
On the Tools menu, click Options. In the Options dialog box, select the Debugging folder. In the Debugging folder, select the Just-In-Time page. In the Enable Just-In-Time debugging of these types of code box, select or clear the relevant program types: Managed, Native, or
Скрипт.
To disable Just-In-Time debugging, once it has been enabled, you must be running with Administrator privileges. Enabling Just-In-Time
отладка устанавливает раздел реестра, и для изменения этого раздела требуются права администратора.
Click OK.
По умолчанию приложения Windows Forms имеют обработчик исключений верхнего уровня, который позволяет программе продолжать работу, если она может восстановиться. В результате вы должны выполнить следующие дополнительные шаги, чтобы включить своевременную отладку приложения Windows Forms. Чтобы включить своевременную отладку Windows Form
Set the jitDebugging value to true in the in the system.windows.form section of the machine.config or
Файл application.exe.config:
<configuration> <system.windows.forms jitDebugging="true" /> </configuration> In a C++ Windows Form application, you must also set DebuggableAttribute in a .config file or in your code. If you compile
с / Zi и без / Og компилятор устанавливает этот атрибут за вас. Однако, если вы хотите отладить неоптимизированную сборку выпуска, вы должны установить это самостоятельно. Вы можете сделать это, добавив следующую строку в файл AssemblyInfo.cpp вашего приложения:
[assembly:System::Diagnostics::DebuggableAttribute(true, true)]; For more information, see DebuggableAttribute.
Своевременная отладка может быть включена, даже если Visual Studio больше не установлена на вашем компьютере. Если Visual Studio не установлена, вы не можете отключить своевременную отладку в диалоговом окне «Параметры Visual Studio». В этом случае вы можете отключить своевременную отладку, отредактировав реестр Windows. Чтобы отключить своевременную отладку, отредактировав реестр
In the Start menu, click Run. In the Run dialog box, type regedit, then click OK. In the Registry Editor window, locate and delete the follow registry keys: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger If your computer is running a 64-bit operating system, delete the following registry keys also: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger Take care not to accidentally delete or change any other registry keys. Close the Registy Editor window.
Ошибки своевременной отладки
Вы можете увидеть следующие сообщения об ошибках, связанные с своевременной отладкой.
An unhandled win32 exception occurred in <program>. Just-In-Time debugging this exception failed with the following error: The logged
у пользователя не было доступа к отладке сбойного приложения.
This message indicates that Just-In-Time debugging failed because you do not have proper access permissions. For information on the
необходимые разрешения, см. [Устарело] Разрешения на удаленную отладку.
Unable to attach to the crashing process. The specified program is not a Windows or MS-DOS program. This error occurs when you try to attach to a process running as another user under Windows 2000. To work around this problem, start Visual Studio, open the Attach to Process dialog box from the Debug menu, and find the process you
хотите отладить в списке доступных процессов. Если вы не знаете имя процесса, посмотрите диалоговое окно Just-In-Time Debugger Visual Studio и запишите идентификатор процесса. Выберите процесс в списке «Доступные процессы» и нажмите «Присоединить». В диалоговом окне Just-In-Time Debugger Visual Studio щелкните Нет, чтобы закрыть диалоговое окно.
Debugger could not be started because no user is logged on. This error occurs when Just-In-Time debugging tries to start Visual Studio on a machine where there is no user logged onto the
приставка. Поскольку ни один пользователь не вошел в систему, сеанс пользователя для отображения диалогового окна Just-In-Time отладки отсутствует.
To fix this problem, log onto the machine. Class not registered. This error indicates that the debugger tried to create a COM class that is not registered, probably due to an installation problem. To fix this problem, use the setup disk to reinstall or repair your Visual Studio installation.
Из: https://msdn.microsoft.com/library/5hs4b7a6%28v=vs.100%29.aspx