Проблема при попытке настроить правило в DebugDiag с использованием счетчика производительности

Вопрос или проблема

Я столкнулся с проблемой (0xC0000BB8), из-за которой не могу активировать правило после его настройки в DebugDiag. Моя цель – использовать этот инструмент для генерации дампа из моего приложения ASP.NET MVC, работающего на IIS, когда происходит высокая загрузка процессора или памяти.

Полная ошибка: “Ошибка при активации правила PerfTrigger через службу DbgSvc. Не удалось создать Perf Trigger для указанного пути счетчика. PdhStatus – 0xC0000BB8”.

В настоящее время я использую RDP для доступа к серверу облачного провайдера, хост – Windows Server 2022 Datacenter.

Попытки исправить проблему:

  • Проверка, работает ли служба Debug Diagnostic (работает);
  • Проверка прав Windows (как на локальных политиках, так и при запуске приложения);
  • Настройка Монитора производительности для отображения того же Счетчика производительности (это сработало).

Я также проверил, и когда я выбираю Счетчик производительности в настройках правила DebugDiag, он устанавливает тот же путь, что и Монитор производительности.

Я провел некоторые исследования, и это может иметь связь с языком системы (в данный момент Windows на португальском, а DebugDiag – это инструмент только на английском). Похоже, что у других людей были проблемы с доступом к путям счетчиков производительности в других сценариях, и это было решено путем изменения языка системы, но это вне моих возможностей, поэтому я ищу возможные решения и новые вещи, которые можно попробовать.

Ответ или решение

Ваша проблема с ошибкой 0xC0000BB8 при попытке активировать правило в DebugDiag, вероятно, связана с доступом к указанным путям производительности. Несмотря на то, что вы уже предприняли несколько шагов для устранения проблемы, есть несколько дополнительных шагов, которые вы можете попробовать.

  1. Проверка контекста выполнения: Убедитесь, что DebugDiag запущен с необходимыми правами. Хотя вы проверили разрешения, попробуйте запустить DebugDiag от имени администратора, чтобы исключить проблемы с правами доступа к производственным счетчикам.

  2. Настройка пути к производственным счетчикам: Убедитесь, что путь к производственным счетчикам не содержит специальных символов или пробелов. Иногда это может вызывать ошибки при их вызове. Попробуйте использовать стандартные счетчики, такие как \Process(имя_процесса)\% Processor Time или \Process(имя_процесса)\Private Bytes.

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

  4. Перезагрузка Debug Diagnostics Service: Иногда помогает простая перезагрузка сервиса Debug Diagnostic. Попробуйте остановить и снова запустить сервис через консоль администратора, используя команды:

    net stop DebugDiag
    net start DebugDiag
  5. Использование системного журнала событий: Проверьте журналы событий Windows на наличие ошибок, которые могли бы дать более точные указания на источник проблемы. Это можно сделать через "Просмотр событий" (Event Viewer).

  6. Попробуйте другой инструмент для анализа производительности: Если вышеуказанные шаги не решают проблему, можно рассмотреть возможность использования других инструментов для анализа производительности и сбора дампов, таких как PerfView или Windows Performance Recorder (WPR).

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

Оцените материал
Добавить комментарий

Капча загружается...