Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция трассировки ссылок на объекты записывает последовательные трассировки стека при каждом добавлении или уменьшении счетчика ссылок на объект. Трассировки помогают обнаруживать ошибки ссылки на объекты, включая двойное разыменовывание, сбой ссылки и сбой разыменования объектов. Эта функция поддерживается только в Windows Vista и более поздних версиях Windows.
Сведения о настройке функции трассировки ссылок на объект в диалоговом окне "Глобальные флаги " см. в разделе "Настройка трассировки ссылок на объекты". Сведения о настройке функции трассировки ссылок на объекты в командной строке см. в разделе "Команды GFlags". Пример см. в примере 15. Использование трассировки ссылок на объекты.
Трассировки ссылок на объекты наиболее полезны, если вы подозреваете, что конкретный объект используется неправильно или не используется должным образом, поскольку увеличение использования пула указывает на утечку объекта, или процесс или сеанс не может быть завершен, даже если количество его дескрипторов равно нулю. В отличие от тех трассировок, записанных в журналах для последующей проверки, трассировки ссылок на объекты предназначены для использования в режиме реального времени, во время выполнения процесса, а объект ссылается и разыменовывается. Вы просматриваете трассировку ссылки на объект в отладчике с помощью расширения отладчика !obtrace. Так как для этого расширения требуется указанный адрес объекта, необходимо заранее знать, какой объект является вероятным источником ошибки.
Следующие правила применяются к трассировке ссылок на объекты:
Можно одновременно запускать только одну трассировку ссылок на объект.
Так как трассировка на уровне ядра не является практической, необходимо ограничить трассировку объектами, созданными с помощью указанных тегов пула, или объектам, созданным указанным процессом (указанным именем файла изображения) или обоими.
Для каждой трассировки можно указать только один файл изображения. Если указать файл изображения, трассировка ограничена объектами, созданными процессами, представленными изображением. Объекты, на которые ссылается процесс, но создаются другим процессом, не трассируются.
Для каждой трассировки можно указать не более 16 тегов пула. Объекты с любым из указанных тегов пула трассируются.
Если указать файл изображения и один или несколько тегов пула, трассировка ограничена объектами, созданными процессом, и имеет любой из указанных тегов пула.
Трассировка ссылок на объект не может отслеживать процессы, если они уже выполняются на момент начала трассировки. Трассировка включает только объекты процессов, запускаемых после начала трассировки.
Объекты, помеченные для трассировки, отслеживаются до тех пор, пока объект не будет уничтожен или пока трассировка не будет отключена. По умолчанию трассировки для объекта сохраняются только до тех пор, пока объект не будет уничтожен, но можно указать "постоянную" трассировку (/p), где трассировка сохраняется, пока трассировка не будет отключена.
Конфигурацию трассировки ссылок на объект можно хранить как параметр реестра или параметр флага ядра (время выполнения). Если у вас есть параметры реестра и флага ядра, параметры времени выполнения имеют приоритет, но теряются при завершении работы или перезапуске компьютера.