StartHeapTrace
Fungsi ini mendaftar dan memulai sesi pelacakan timbunan untuk sekumpulan PID tertentu. Anda juga dapat mengaktifkan stack walking untuk peristiwa heap tertentu seperti alokasi atau penghapusan menggunakan fungsi ini.
Proses di mana pelacakan timbunan akan diaktifkan harus dibuat sebelum memanggil fungsi ini. Untuk menangkap peristiwa tumpukan dari awal program, disarankan agar proses dimulai dengan bendera CREATE_SUSPENDED , lalu pelacakan timbunan diaktifkan untuk PID-nya, kemudian proses dilanjutkan.
Pelacakan timbunan sangat verbose dan dapat dengan cepat menghasilkan file pelacakan yang sangat besar. Peristiwa dapat hilang dengan mudah jika buffer sesi terlalu kecil atau terlalu sedikit. Disarankan agar jumlah proses yang pelacakan timbunannya diaktifkan dibatasi agar tidak kehilangan peristiwa. Mengaktifkan pelacakan timbunan mungkin berdampak pada performa pada proses yang sedang dilacak.
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
);
Parameter
TraceHandle [out]
Menyimpan handel ke sesi pelacakan peristiwa. Parameter ini diatur ke nol jika handel tidak valid. Parameter ini tidak boleh dibandingkan dengan INVALID_HANDLE_VALUE. Jangan gunakan handel ini jika fungsi gagal.
Properti [masuk, keluar]
Menyimpan pointer ke struktur EVENT_TRACE_PROPERTIES . EVENT_TRACE_PROPERTIES mengonfigurasi aspek perilaku sesi tertentu.
Tidak perlu mengatur anggota Guid karena fungsi ini selalu menggunakan nilainya sendiri. Jika Anda menentukan GUID, GUID tidak akan digunakan.
wszSessionName [in]
Nama sesi untuk diteruskan ke StartTrace.
Pids [in]
Array ID proses untuk mengaktifkan pelacakan timbunan.
cStackTracingEventIds [in]
Ukuran array StackTracingEventIds.
Tampilkan Nilai
ERROR_SUCCESS menunjukkan keberhasilan.
Nilai kesalahan yang mungkin dijelaskan dalam tabel berikut ini.
Nilai Kesalahan | Deskripsi |
---|---|
ERROR_ALREADY_EXISTS |
Hanya satu instans pencatat kernel yang berjalan pada sistem. Jika fungsi ini mencoba untuk memulai setelah komponen lain memulai pengelogan kernel, kesalahan ini mungkin dikembalikan. |
ERROR_INVALID_FLAGS |
Mungkin menunjukkan bahwa ada bendera pelacakan yang tidak valid di Properties.EnableFlags. |
ERROR_OUT_OF_MEMORY |
Mungkin menunjukkan kegagalan mengalokasikan memori untuk EVENT_TRACE_PROPERTIES. |
Jika fungsi gagal karena alasan selain yang tercantum, kode kesalahan sistem dikembalikan.
Keterangan
Tidak ada