Ключ реестра для глобальных флагов (gflags)

В настоящее время у меня возникает ошибка при попытке удалить флаг «Включить тегирование кучи с помощью DLL» с помощью инструмента отладки GFlags для так называемого «изображения»: приложения, которое я отлаживал.

Я получаю сообщение «Невозможно сохранить ошибку реестра 5». Однако нет проблем с другими флагами «Включить кучу ...», их можно включать и выключать. Я пытался запустить утилиту от имени администратора, но это ничего не меняет.

Поэтому я пытаюсь выяснить, какие параметры реестра мне следует изменить вручную, чтобы вернуть все в нормальное состояние, однако, похоже, я не нашел правильного раздела реестра о глобальных флагах Windows.

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

Любая идея ?

Я попытался найти в реестре FLG_HEAP_PAGE_ALLOCS, что является символическим именем более общего флага «Включить кучу страниц», как сказано здесь в MSDN. Но безуспешно.


person Stephane Rolland    schedule 27.08.2014    source источник


Ответы (1)


Удалить ключи:

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RADAR\HeapLeakDetection\DiagnosedApplications\MyApplication.exe]
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\MyApplication.exe]

Имейте в виду, что он также удалит конфигурации отладки, созданные с помощью или для Application Verifier.

Во-вторых, возможно, это связано, но на MSDN относительно gflags:

Примечание. Неправильное использование этого инструмента может снизить производительность системы или помешать запуску Windows, что потребует переустановки Windows.

Важно: тегирование пула постоянно включено в Windows Server 2003 и более поздних версиях Windows, включая Windows Vista. В этих системах флажок Включить тегирование пула в диалоговом окне Глобальные флаги недоступен, и команды для включения или отключения тегирования пула не выполняются.

person Stephane Rolland    schedule 27.08.2014
comment
Это спасло меня - флаги вызывали сбой - удалил ключевые записи, сбой исчез. - person imekon; 08.05.2018
comment
@imekan Имейте в виду, что это не означает, что исходная причина, источник ошибки, исчезла! Gflags выявляет ошибки, которые случаются нечасто, случайным образом: ошибки, которые нельзя повторить в контролируемой среде. Для меня это инструмент, помогающий отслеживать неопределенное поведение из кода C/C++, ошибки, которые действительно случаются в реальной производственной среде, но не всегда (или редко) в тестовой среде. Это был мой способ использования gflags. - person Stephane Rolland; 08.05.2018
comment
Я советую вам открыть файл аварийного дампа, сгенерированный в момент сбоя, чтобы проверить, какой код вызвал проблему. Закрытие глаз никогда не исправит ошибки :-) Если только вы не хотите скрыть, что есть ошибки, на которые я считаю нехорошим способом реагировать. - person Stephane Rolland; 08.05.2018