Поделиться через


StartHeapTrace

Эта функция регистрирует и запускает сеанс трассировки кучи для набора указанных ИДЕНТИФИКАТОРов. С помощью этой функции можно также включить ход стека для определенных событий кучи, таких как выделение или удаление.

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

Трассировка кучи очень подробна и может быстро создать очень большой файл трассировки. События могут быть легко потеряны, если буферы сеанса слишком малы или слишком малы. Рекомендуется ограничить количество процессов, для которых включена трассировка кучи, чтобы не потерять события. Включение трассировки кучи может повлиять на производительность трассировки процесса.

ULONG
WINAPI
StartHeapTrace(
    _Out_ PTRACEHANDLE TraceHandle,
    _Inout_ PEVENT_TRACE_PROPERTIES Properties,
    _In_z_ LPCWSTR wszSessionName,
    _In_reads_opt_(cPids) const ULONG Pids[],
    _In_  ULONG cPids,
    _In_reads_opt_(cStackTracingEventIds) const STACK_TRACING_EVENT_ID StackTracingEventIds[],
    _In_  ULONG cStackTracingEventIds
    );

Параметры

TraceHandle [out]
Хранит дескриптор в сеансе трассировки событий. Если дескриптор недопустим, этот параметр имеет значение 0. Этот параметр не следует сравнивать с INVALID_HANDLE_VALUE. Не используйте этот дескриптор, если функция завершается сбоем.

Свойства [in, out]
Хранит указатель на структуру EVENT_TRACE_PROPERTIES . EVENT_TRACE_PROPERTIES настраивает определенные аспекты поведения сеанса.

Нет необходимости задавать член GUID, так как эта функция всегда использует собственное значение. Если указать GUID, он не будет использоваться.

wszSessionName [in]
SИмя сеанса, передаваемого в StartTrace.

Pids [in]
Массив идентификаторов процессов для включения трассировки кучи.

cPids [in]
Размер массива Pids.

cStackTracingEventIds [in]
Размер массива StackTracingEventIds.

Возвращаемое значение

ERROR_SUCCESS указывает на успех.

Возможные значения ошибок описаны в следующей таблице.

Значение ошибки Описание

ERROR_ALREADY_EXISTS

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

ERROR_INVALID_FLAGS

Возможно, указывает на наличие недопустимых флагов трассировки в Properties.EnableFlags.

ERROR_OUT_OF_MEMORY

Возможно, указывает на невозможность выделения памяти для EVENT_TRACE_PROPERTIES.

Если функция завершается сбоем по причине, отличной от перечисленных, возвращается код системной ошибки.

Remarks

None

Функции

UpdateHeapTrace