Несколько недель назад на ноутбуке моей компании начались странные проблемы. Я больше не мог запускать Microsoft Developer Web Server (через Visual Studio-> Debug). Позже я понял, что не могу выполнить ни одно приложение .NET.
Говоря со специалистом Microsoft CLR после просмотра моих dmp файлов, он сказал
При загрузке в ваш процесс 8 байтов со смещением 0 × 168 в файлы .exe устанавливаются на 0. Это проблема, которая вызывает сбой CLR. Эти биты установлены правильно в файле, который вы мне предоставили.
C:\Windows\System32\Detoured.dll загружен в процесс. Для меня это означает, что библиотека обходов используется на вашем компьютере для изменения поведения этих процессов.
Я также понял, что при загрузке в безопасном режиме все работает.
Кроме того, я выяснил, что если я щелкну правой кнопкой мыши по исполняемому файлу .NET и выберу "Запуск от имени" и введу учетные данные пользователя, вошедшего в систему в данный момент, то приложение будет работать. Это просто не работает, если я просто дважды щелкну по приложению.
Там много системных сообщений о событиях и ошибок типа доктора Ватсона. Вот несколько, которые я получаю:
При запуске MS Developer Web Server из Visual Studio всплывающее окно с сообщением говорит:
WebDev.WebServer40.exe has encountered a problem and needs
to close. We are sorry for the inconvenience.
Записи журнала системных событий VSHost:
Event 1:
Application: MyWebSite.vshost.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an internal error
in the .NET Runtime at IP 791A8BBD (79140000) with exit code 80131506.
Event 2:
Faulting application MyWebSite.vshost.exe, version 10.0.30319.1,
stamp 4ba2084b, faulting module clr.dll, version 4.0.30319.1,
stamp 4ba1d9ef, debug? 0, fault address 0x00068bbd.
Записи журнала системных событий для запуска сторонних приложений:
Source: Application Popup
Description: Application popup: #APPNAME#.exe – Application Error : The
application failed to initialize properly (0xc000007b). Click on OK
to terminate the application.
Созданные мной приложения, использующие системные журналы событий .NET v4 Framework, говорят:
Source: .NET Runtime
Framework Version: v4.0.30319
Description: The process was terminated due to an internal error in the
.NET Runtime at IP 791A8BBD (7914000) with exit code 80131506.
Созданные мной приложения, использующие системные журналы событий .NET v2 Framework, говорят:
Source: .NET Runtime
Description: .NET Runtime version 2.0.50727.3053 – Fatal Execution
Engine Error (7A097706) (80131506)
Вот больше подробностей в моем блоге - включая все, что я пробовал до сих пор, а также подробности и рассказы.
Что касается точек восстановления, моя самая старая точка восстановления - несколько недель назад, когда у меня все еще была эта проблема, поэтому я не думаю, что восстановление этой точки сильно поможет.
Как я могу выяснить, какой процесс вызывает проблему, а затем исправить компьютер?