Bagikan melalui


Sesi Pelacakan Pencatat Global

Sesi pelacakan Global Logger merekam peristiwa yang terjadi selama proses boot sebelum sistem beroperasi penuh, seperti peristiwa yang dihasilkan oleh driver perangkat. Ini adalah sesi pelacakan yang dipesan yang tertanam ke dalam Windows.

Sesi pelacakan Penjejak Global selalu menulis pesan ke log penelusuran. Global Logger tidak mendukung sesi pelacakan real-time atau sesi pelacakan yang di-buffer.

Karena Global Logger harus tersedia di awal proses boot sistem operasi, itu dimulai dan dikonfigurasi dengan menggunakan entri registri (dalam subkunci HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger ), alih-alih panggilan fungsi. Setelah memulai, Global Logger berfungsi seperti sesi pencatatan peristiwa yang biasa.

Sesi pelacakan Global Logger menggunakan nama sesi yang khusus, "GlobalLogger." Control GUID diwakili oleh konstanta GlobalLoggerGuid. Anda membuat sesi pelacakan Global Logger, lalu memulai ulang komputer untuk memulai sesi pelacakan. Hanya satu sesi pelacakan Global Logger yang dapat berjalan di komputer pada satu waktu.

Untuk membuat sesi pelacakan Global Logger, gunakan Tracelog. Ini secara otomatis membuat subkunci registri dan entri yang menyimpan opsi sesi pelacakan. Sesi pelacakan Global Logger dimulai saat Anda memulai ulang komputer. Untuk informasi selengkapnya, lihat Sintaks Perintah Tracelog.

Untuk memformat pesan pelacakan dari sesi pelacakan Global Logger, gunakan Tracefmt dengan system.tmf, file format pesan pelacakan yang disertakan dalam WDK.

Karena sesi Global Logger dipicu oleh entri registri, sesi ini berjalan setiap kali entri muncul di registri. Untuk mencegah sesi Global Logger dimulai setiap kali sistem dimulai, atur nilai entri Mulai ke 0 atau hapus semua entri registri.

Anda dapat mengonversi sesi pelacakan Global Logger ke sesi pelacakan NT Kernel Logger, sehingga melacak kernel selama proses boot. Untuk informasi, lihat Sesi Logger Global Saat Booting

Penyedia pelacakan, seperti driver mode kernel dan aplikasi mode pengguna, dapat masuk ke sesi pelacakan Global Logger. Ini memungkinkan Anda melacak driver atau penyedia pelacakan lain selama boot sistem. Untuk informasi, lihat Pencatatan ke Sesi Logger Global

Batasan Sesi Jejak Pencatat Global

Sesi jejak Global Logger sangat berguna, tetapi penting untuk mengetahui keterbatasannya:

Anda hanya dapat menjalankan satu sesi Global Logger pada satu waktu.

Sesi Global Logger tidak mengirim pemberitahuan aktifkan ke penyedia.

Entri registri Global Logger tetap berada di registri dan efektif hingga Anda mengatur ulang atau menghapusnya secara manual, atau menggunakan perintah tracelog -remove . Hingga Anda mengatur ulang, sesi Global Logger dimulai setiap kali Anda memulai sistem.

Pencatat Windows ACPI diaktifkan secara permanen untuk sesi pelacakan Global Logger. Pesan pelacakan dari pencatat ini muncul di log pelacakan.

Jika sesi pelacakan standar dimulai saat driver masuk ke sesi Global Logger, driver akan beralih dan mulai masuk ke sesi pelacakan standar.

Entri Registri Logger Global

Tabel berikut ini memperlihatkan entri registri yang mengonfigurasi sesi Global Logger. Entri ini ada di subkunci HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger. Hanya entri Mulai yang diperlukan.

Selain entri registri dalam tabel ini, Anda juga dapat menambahkan subkunci ControlGUID di bawah subkunci GlobalLogger untuk mewakili penyedia pelacakan, seperti driver, yang mencatat ke sesi jejak Global Logger. Untuk informasi, lihat Pencatatan di Sesi Logger Global.

Entri Jenis data Deskripsi

Mulai

REG_DWORD

Ketika diatur ke 1 (dihidupkan), sesi Global Logger dimulai pada saat sistem berikutnya menyala.

0 = nonaktif, 1=aktif

BufferSize

REG_DWORD

Menentukan ukuran setiap buffer (dalam KB). Nilai defaultnya adalah 0x40 (64 KB).

ClockType

REG_DWORD

Menentukan timer yang digunakan untuk melacak stempel waktu pesan.

Dimulai dengan Windows Vista, nilai defaultnya adalah 1. Pada sistem operasi sebelum Windows Vista, nilai defaultnya adalah 2.

1 = Nilai penghitung kinerja (resolusi tinggi)

2 = Timer sistem

3 = Jam siklus CPU

AktifkanBenderaKernel

REG_BINARY

Mengonversi sesi Global Logger ke sesi pelacakan NT Kernel Logger dan menentukan peristiwa yang disertakan dalam jejak kernel.

Untuk informasi, lihat Sesi Pengelogan Global Waktu Boot.

PenghitungBerkas

REG_DWORD

Menyimpan jumlah file log jejak peristiwa yang dihasilkan oleh sesi Global Logger.

Sistem menaikkan nilai ini sampai mencapai nilai FileMax. Kemudian, ia mengatur ulang nilai menjadi 0.

Penghitung ini mencegah sistem menimpa file log jejak Global Logger.

FileMax

REG_DWORD

Menentukan jumlah maksimum file log jejak peristiwa yang diizinkan pada sistem.

Ketika jumlah log jejak mencapai maksimum yang ditentukan, sistem mulai menimpa log, dimulai dengan yang terlama.

Nilai defaultnya adalah 0, yang berarti tidak ada maksimum.

Filename

REG_SZ

Jalur (opsional) dan nama file file log jejak peristiwa. Defaultnya adalah %SystemRoot%\System32\LogFiles\WMI\trace.log.

FlushTimer

REG_DWORD

Menentukan seberapa sering (dalam detik) buffer pelacakan dibersihkan secara paksa. Flush paksa ini selain flush otomatis yang terjadi setiap kali buffer penuh dan ketika sesi pelacakan berhenti.

Nilai defaultnya adalah 0. Secara default, buffer dibersihkan hanya ketika penuh.

Waktu pembilasan minimum adalah 1 detik.

LogFileMode

REG_DWORD

Memilih opsi sesi log.

Hanya didukung di Windows Vista dan versi Windows yang lebih baru.

MaximumBuffers

REG_DWORD

Menentukan jumlah maksimum buffer yang dapat dialokasikan untuk sesi. Nilai defaultnya adalah 0x19 (25).

MaximumFileSize

REG_DWORD

Menentukan ukuran maksimum file log jejak peristiwa. Secara default, tidak ada ukuran file maksimum.

PenyanggaMinimum

REG_DWORD

Menentukan jumlah buffer yang dialokasikan saat sesi dimulai. Nilai defaultnya adalah 0x3.

Keadaan

REG_DWORD

Menyimpan kode pengembalian dari upaya untuk memulai sesi pelacakan Global Logger.

Jika sesi gagal dimulai, nilai entri ini adalah kode kesalahan Win32. Jika sesi telah dimulai, nilai dari entri ini adalah ERROR_SUCCESS.

Entri registri yang Anda buat ini tetap berada di registri dan efektif hingga Anda menghapusnya atau mengubah nilainya. Oleh karena itu, setelah sesi Global Logger berjalan, gunakan perintah tracelog -remove GlobalLogger untuk mengatur nilai entri Mulai ke 0 dan hapus entri registri Global Logger lainnya. Jika tidak, sesi Global Logger berjalan setiap kali Anda menghidupkan ulang komputer, dan file log yang dihasilkan dapat tumbuh sangat besar.

Konstanta Mode Pengelogan

Tabel berikut menampilkan nilai yang valid untuk entri registri LogFileMode di subkunci HKLM\System\CurrentControlSet\Control\WMI\GlobalLogger . Entri ini digunakan untuk mengatur opsi untuk sesi pelacakan Global Logger, termasuk untuk sesi pelacakan real-time, sesi pelacakan privat, pengelogan melingkar, dan buffering (tanpa log). Entri registri ini hanya didukung di Windows Vista dan versi Windows yang lebih baru.

Entri registri ini sesuai dengan anggota LogFileMode dari struktur EVENT_TRACE_PROPERTIES. Nilainya sesuai dengan Konstanta Mode Pengelogan. Struktur EVENT_TRACE_PROPERTIES dan Konstanta Mode Pengelogan dijelaskan dalam dokumentasi Microsoft Windows SDK.

Tabel ini ditampilkan di sini untuk memperlihatkan nilai heksadesimal konstanta. Gunakan nilai-nilai ini atau jumlah nilai ini untuk mewakili konstanta dalam entri registri LogFileMode .

Nilai Konstanta Deskripsi

0x0

EVENT_TRACE_FILE_MODE_NONE

Tidak ada file log jejak peristiwa yang dibuat.

0x1

EVENT_TRACE_FILE_MODE_SEQUENTIAL

File log jejak peristiwa berurutan.

0x2

Mode Berkas Jejak Peristiwa Lingkaran

File log penelusuran peristiwa bersifat siklik.

0x4

EVENT_TRACE_FILE_MODE_APPEND

Tambahkan pesan pelacakan ke file log yang sudah ada. Mode ini hanya valid dengan file berurutan.

0x8

EVENT_TRACE_FILE_MODE_NEWFILE

Buat file log jejak peristiwa baru setiap kali file yang ada mencapai nilai entri MaximumFileSize (lihat tabel di atas).

0x20

EVENT_TRACE_FILE_MODE_PREALLOCATE

Mencadangkan ruang untuk file log pelacakan peristiwa.

Hanya berlaku dengan EVENT_TRACE_FILE_MODE_SEQUENTIAL atau EVENT_TRACE_FILE_MODE_CIRCULAR, dan tidak valid dengan EVENT_TRACE_FILE_MODE_NEWFILE.

0x40

EVENT_TRACE_MODE_TIDAK_TERHENTIKAN

Panggilan ke StopTrace tidak menghentikan sesi pelacakan.

Fitur ini mencegah pengguna menghentikan sesi pelacakan yang diperlukan sistem untuk diagnosis dan penyetelan.

0x100

EVENT_TRACE_REAL_TIME_MODE

Menentukan sesi pelacakan waktu nyata.

0x200

MODE_PENUNDAAN_PELACAKAN_EVENT_BUKA_FILE

Hanya untuk penggunaan internal.

0x400

EVENT_TRACE_BUFFERING_MODE

Kejadian disimpan di dalam buffer. Mereka tidak pernah ditulis ke file log atau dikirimkan ke konsumen pelacakan.

0x800

EVENT_TRACE_PRIVATE_LOGGER_MODE

Menentukan sesi penelusuran privat. Bendera ini tidak valid untuk sesi pelacakan Global Logger.

0x1000

EVENT_TRACE_ADD_HEADER_MODE

Hanya untuk penggunaan internal.

0x2000

EVENT_TRACE_USE_KBYTES_FOR_SIZE

Menginterpretasikan nilai MaximumFileSize dalam KB, bukan MB.

0x4000

EVENT_TRACE_USE_GLOBAL_SEQUENCE

Menghasilkan nomor urut global untuk pesan pelacakan. Angka-angka ini unik untuk semua sesi jejak di komputer.

Secara default, pesan pelacakan tidak memiliki nomor urut apa pun.

0x8000

EVENT_TRACE_USE_LOCAL_SEQUENCE (Penggunaan Urutan Lokal pada Pelacakan Acara)

Menghasilkan nomor urutan lokal untuk pesan pelacakan. Angka-angka ini unik dalam sesi pelacakan.

Secara default, pesan pelacakan tidak memiliki nomor urut apa pun.

0x10000

EVENT_TRACE_RELOG_MODE

Hanya untuk penggunaan internal.

0x80000

EVENT_TRACE_KD_FILTER_MODE

Mengalihkan pesan pelacakan ke debugger kernel dan mengatur ukuran buffer jejak menjadi 3 KB, ukuran buffer maksimum untuk debugger.

0x1000000

EVENT_TRACE_MODE_RESERVED

Tidak valid untuk sesi pelacakan Global Logger.

0x01000000

EVENT_TRACE_USE_PAGED_MEMORY

Alokasikan buffer sesi pelacakan dari memori yang dapat dialokasi secara dinamis. Buffer secara default dialokasikan dari memori yang tidak dapat dipaging.