Проверка приложений не запускается на 3 отдельных компьютерах с Windows здесь

#windows #debugging #visual-c #application-verifier

#Windows #отладка #visual-c #приложение-верификатор

Вопрос:

Просто я не могу запустить проверку приложений (WOW или 64-разрядную версию). Он просто не запускается. Средство просмотра событий сообщает:

Имя приложения с ошибкой: appverif.exe , версия: 10.0.18362.1, отметка времени: 0x58ca3409 Имя модуля сбоя: ntdll.dll , версия: 10.0.18362.1139, отметка времени: 0x335bbdaf Код исключения: 0xc0000374 Смещение ошибки: 0x000dfa1d Идентификатор процесса сбоя: 0x2ad0 Время запуска приложения сбоя: 0x01d6aa7ad4a12bf6 Путь к приложению сбоя: C:WindowsSysWOW64appverif.exe Путь к неисправному модулю: C:WINDOWSSYSTEM32ntdll.dll Идентификатор отчета:235c3a4d-2d54-4436-99bf-b54a217c9a7f

Кроме того, я попытался запустить appverif.exe (в system и syswow64) в Visual Studio, и я вижу:

Средство проверки приложений не запускается в отладчике Visual Studio

РЕДАКТИРОВАТЬ (обновление на основе комментариев) Некоторые предполагают, что у проверки приложений нет графического интерфейса. Однако, когда я запускал его в последний раз, я увидел следующее:

Графический интерфейс средства проверки приложений

Комментарии:

1. Код ошибки STATUS_HEAP_CORRUPTION . Вы уверены, что это сбой AppVerifier, а не AopVerifier, сообщающий об ошибке в вашем тестовом приложении?

2. Ну, поскольку App verifier даже не открывает свой графический интерфейс, я понятия не имею, какие программы настроены на использование Application Verifier ?! Просто для ясности, я не запускаю какую-либо программу внутри проверки приложений. Сбой происходит из-за самого App verifier — на всех 3 машинах.

3. используйте gflags.exe чтобы включить appverifier для вашего целевого приложения

4. Привет — разве раньше у него не было графического интерфейса, который позволял добавлять приложения и просматривать журналы?

5. @rwebby теперь доступно реальное решение с обновленным SDK 2004.

Ответ №1:

Я спросил сотрудника Microsoft Гов Махараджа (из команды совместимости приложений), и они уже знают о проблеме, и проблема исправлена в обновлении для Windows 10 2004 SDK, которое было выпущено в декабре 2020 года ( 19041.685.201201-2105.vb_release_svc_prod1_WindowsSDK.iso) :

Пакет SDK для Windows 10, версия 2004, обновление для обслуживания SDK (выпущено 16.12.2020) содержит следующие исправления. Если вы столкнулись с этими проблемами, мы рекомендуем вам как можно скорее обновить свою версию SDK, чтобы избежать их:

  • Устранена проблема, из-за которой AppVerifier не мог работать

Загрузите и установите обновление, чтобы исправить это.

Комментарии:

1. К сожалению, я не могу подтвердить это, поскольку защитник Windows обнаруживает трояны в установщике ProcessHacker. Похоже, у них это зашито, на данный момент! 🙁

2. никогда не используйте defender в системе разработки, он запускает все неизвестные файлы в эмуляторе, который работает медленно, а в системе разработки создаются тонны файлов, которые defender не видел. И processhacker безопасен в использовании

3. TendMicro также сообщает о ProcessHacker как о трояне, или Chrome даже не позволил мне его загрузить. Если у вас есть обратный канал, сообщите об этом как о ложном срабатывании. Это действительно позор или настройте некоторые каталоги исключений, если ваш сканер поддерживает его.

4. @AloisKraus они следуют за ерундой Microsoft, им также пришлось заблокировать все инструменты sysinterals, поскольку они используют тот же API, что и ProcessHacker, а NOD32 работает нормально и не блокирует его

5. Это сработало для меня! В установщике снимите все флажки, кроме «Проверка приложений», затем, как только установка будет завершена, запустите C:WindowsSystem32appverif.exe . Бам!

Ответ №2:

Мне удалось запустить проверку под системной учетной записью с помощью PsExec:

…PsToolsPsExec64.exe -я -с C:WindowsSystem32appverif.exe

Комментарии:

1. Отлично работает! Спасибо за этот простой совет!

2. У меня не работает, я получаю «appverif, завершенный на <имя рабочего стола> с кодом ошибки -1073740940».

3. ОООООО! — Я столкнулся с точно такой же проблемой и откладывал обновление Windows с момента последнего раза, когда я это делал (месяц или около того назад), appverif не работал, но должен был обновиться сегодня!. Это бомба! Спасибо!

4. Работал безупречно с повышенным cmd. Мне интересно, зачем нужен этот трюк для запуска проверки приложений

5. @serg06 То же самое. Вы нашли способ решить эту проблему?

Ответ №3:

Я попробовал рекомендуемые методы — установка последней версии Windows SDK и запуск программы через ‘PsExec64.exe -я -с, но ни то, ни другое не сработало. Судя по тому, что я прочитал, эта программа, похоже, периодически прерывается Microsoft.

Я побежал appverif.exe через Visual Studio и увидел следующий стек вызовов при сбое:

     ntdll.dll!RtlReportCriticalFailure()   Unknown
ntdll.dll!RtlpHeapHandleError()    Unknown
ntdll.dll!RtlpHpHeapHandleError()  Unknown
ntdll.dll!RtlpLogHeapFailure() Unknown
ntdll.dll!RtlpFreeHeapInternal()    Unknown
  

ntdll.dll !RtlFreeHeap() Неизвестен
msvcrt.dll !00007ffd44449c9c() Неизвестно
appverifUI.dll !00007ffc9a41f9d6() Неизвестно
appverifUI.dll !00007ffc9a411636() Неизвестно
appverif.exe !00007ff64965281b() Неизвестно
appverif.exe !00007ff6496615ed() Неизвестно
kernel32.dll !00007ffd43957034() Неизвестно
ntdll.dll !RtlUserThreadStart() Неизвестно

Кажется, что происходит сбой после освобождения кучи.