Visual Studio 2017 не выполняет ни кода, ни каких-либо значимых ошибок - PullRequest
0 голосов
/ 11 сентября 2018

У меня проблемы с Visual Studio, поэтому я создал максимально простую программу. Я создал консольное приложение, которое должно отображать на консоли одну строку, а затем ждать, пока пользователь нажмет клавишу. Вместо этого мне выдается сообщение об ошибке.

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

Вот снимок экрана с сообщением об ошибке: Visual Studio Error

Я был на веб-сайтах справки и поддержки Microsoft (хотя я не нашел ни одного веб-сайта, специально названного «Справка и поддержка», но нашел MSDN и различные форумы). Я посмотрел на этот HRESULT. В каждой прочитанной статье обсуждается какая-то ошибка веб-приложения. Мне еще не приходилось сталкиваться с единственной статьей, в которой упоминалось бы, что это происходит в консольном приложении, поэтому я так зашел в тупик. Мой следующий шаг - попытаться восстановить мою установку .NET Framework, чтобы увидеть, если это что-то делает (я нашел несколько косвенных ссылок, говорящих, что это может помочь). Если у кого-то есть идеи, я очень заинтересован!

Кроме того, я попробовал этот же код в Visual Studio 2013. Он отлично работает с этой IDE. Это происходит только с Visual Studio 2017 (с которой у меня не было ничего, кроме проблем с момента его установки, удаления и переустановки). Но моя копия VS 2013 является выпуском для сообщества, и моя работа только что приобрела для меня Профессиональную лицензию на 2017 год, поэтому я предпочел бы использовать ее, если смогу заставить ее работать. Это довольно расстраивает в этот момент. Если я не могу найти какой-либо другой ответ, мой следующий вариант - удалить его и заново установить. Это будет в пятый или шестой раз, когда мне нужно это сделать, поэтому я надеюсь на другое решение.

Edit: Проведя дополнительные исследования, я обнаружил, что это проблема только при отладке кода. Если я запускаю код через Visual Studio с помощью параметра «Начать без отладки», он запускается без проблем. И поскольку я могу без проблем использовать VS 2013 на той же машине в режиме отладки, это, похоже, исключает проблему с Windows. Возможно, проблема ограничена VS 2017.

У меня есть планы по удалению и переустановке VS 2017, но это длительный процесс. Поэтому, прежде чем я это сделаю, я все еще ищу другие возможные решения.

UPDATE:

Я нашел отчет о сбое в Event Viewer. Вот журнал:

Ковш неисправности 2243818120991372909, тип 1 Название события: APPCRASH Ответ: не доступно Идентификатор кабины: 0

Подпись проблемы: P1: HelloWorldTest3.exe P2: 1.0.0.0 P3: cc00d718 P4: StackHash_cad8 P5: 0.0.0.0 P6: 00000000 P7: c0000008 P8: PCH_E2_FROM_ntdll + 0x0006A2DC P9: P10:

Прикрепленные файлы: ? \ \ C: \ ProgramData \ Microsoft \ Windows \ WER \ Temp \ WERB1A6.tmp.dmp ? \ \ C: \ ProgramData \ Microsoft \ Windows \ WER \ Temp \ WERB427.tmp.WERInternalMetadata.xml ? \ \ C: \ ProgramData \ Microsoft \ Windows \ WER \ Temp \ WERB486.tmp.xml ? \ \ C: \ ProgramData \ Microsoft \ Windows \ WER \ Temp \ WERB494.tmp.csv ? \ \ C: \ ProgramData \ Microsoft \ Windows \ WER \ Temp \ WERB4D3.tmp.txt

Эти файлы могут быть доступны здесь: C: \ ProgramData \ Microsoft \ Windows \ WER \ ReportArchive \ AppCrash_HelloWorldTest3._40a823464c1b7f1a36d57ccec8a525baac94eb58_92da583c_48deb87c

Символ анализа: Перепроверка для решения: 0 Идентификатор отчета: a085ff02-7bff-4a22-8d90-3f52094b2f8f Статус отчета: 268435456 Хешированное ведро: 334244e30a9d2a234f23a4b15a46766d Кабина Guid: 0

Говорит ли это о том, почему он разбился? У меня также есть список DLL-файлов, которые были загружены в то время, но я не вижу ничего конкретного, что могло бы привести к сбою.

ОБНОВЛЕНИЕ № 2:

Я попытался перезагрузиться в безопасном режиме.Это решило проблему.Итак, я попытался перезапустить службы один за другим, чтобы найти тот, который вызывал сбой отладчика.Но Windows не позволяет мне запускать какие-либо дополнительные службы в безопасном режиме.Итак, я решил попробовать в обратном направлении.Я перезагрузился в обычном режиме и начал отключать службы один за другим.В конце концов, у меня были все службы, которые Windows позволяла мне отключать, но проблема все еще возникала.Это все больше и больше похоже на то, что Центр обновления Windows что-то сломал.

ОБНОВЛЕНИЕ № 3: Мы активировали наш Договор технической поддержки Microsoft.Инженер поддержки, которого они назначили, заставил меня отправить дампы памяти и результаты работы Procmon во время события APPCRASH.После того, как я отправил информацию, я еще не получил ответа и до сих пор не знаю, что может пойти не так.Последние два дня инженер игнорировал мои электронные письма (пятницу на прошлой неделе и понедельник на этой неделе).Так что я даже не могу получить информацию о прогрессе.Это чрезвычайно неприятная проблема для устранения неполадок, поскольку она не генерирует легко обнаруживаемые сообщения об ошибках.Я буду продолжать обновлять, как я узнаю больше.Спасибо всем, кто пытался помочь.

ОБНОВЛЕНИЕ № 4: Microsoft проверила файлы дампа и результаты Procmon.Они обнаружили, что ошибка в CLR (что странно, потому что VS 2013 может отлаживать без проблем ...) Это определенно в следующем методе dll: win32u! NtUserMsgWaitForMultipleObjectsEx

Microsoft говорит, что дамп не содержалдетали этого вопроса, и они будут продолжать работать над этим вопросом.Тем временем я удалил Trend Micro, перезагрузил компьютер, удалил VS 2017, перезагрузил компьютер, заново установил VS 2017, перезагрузил компьютер, и отладчик VS 2017 по-прежнему не работает.Я также ремонтировал каждую версию .NET Framework на случай, если какая-либо из них была повреждена, перезапущена снова, на случай, если я не перезагрузился достаточно, и все равно не повезло.Единственное, что сработало, это загрузка компьютера в безопасном режиме.

...