Pelacakan Referensi Objek

Fitur Pelacakan Referensi Objek merekam jejak tumpukan berurutan setiap kali penghitung referensi objek bertambah atau berkurang. Jejak dapat membantu Anda mendeteksi kesalahan referensi objek, termasuk dereferensi ganda, kegagalan referensi, dan kegagalan dereferensi objek. Fitur ini hanya didukung di Windows Vista dan versi Windows yang lebih baru.

Untuk informasi tentang mengonfigurasi fitur Pelacakan Referensi Objek dalam kotak dialog Bendera Global , lihat Mengonfigurasi Pelacakan Referensi Objek. Untuk informasi tentang mengonfigurasi fitur Pelacakan Referensi Objek pada prompt perintah, lihat Perintah GFlags. Misalnya, lihat Contoh 15: Menggunakan Pelacakan Referensi Objek.

Pelacakan referensi objek paling berguna ketika Anda menduga bahwa objek tertentu tidak direferensikan atau didereferensikan dengan benar, biasanya karena peningkatan penggunaan kumpulan menunjukkan bahwa objek bocor, atau proses atau sesi tidak dapat berakhir, meskipun jumlah handelnya nol. Tidak seperti jejak yang dicatat dalam log untuk ditinjau nanti, jejak referensi objek dirancang untuk digunakan secara real time, saat proses berjalan dan objek sedang direferensikan dan didereferensikan. Anda melihat jejak referensi objek di debugger dengan menggunakan ekstensi debugger !obtrace. Karena ekstensi ini memerlukan alamat objek tertentu, Anda harus mengetahui terlebih dahulu objek mana yang kemungkinan merupakan sumber kesalahan.

Aturan berikut berlaku untuk Pelacakan Referensi Objek:

  • Anda hanya dapat menjalankan satu pelacakan referensi objek pada satu waktu.

  • Karena jejak di seluruh kernel tidak praktis, Anda harus membatasi jejak ke objek yang dibuat dengan tag kumpulan tertentu, atau ke objek yang dibuat oleh proses tertentu (ditunjukkan oleh nama file gambar), atau keduanya.

  • Anda hanya dapat menentukan satu file gambar untuk setiap jejak. Jika Anda menentukan file gambar, jejak dibatasi pada objek yang dibuat oleh proses yang diwakili gambar. Objek yang direferensikan oleh proses, tetapi dibuat oleh proses yang berbeda, tidak dilacak.

  • Anda dapat menentukan maksimal 16 tag kumpulan untuk setiap jejak. Objek dengan salah satu tag kumpulan yang ditentukan dilacak.

  • Jika Anda menentukan file gambar dan satu atau beberapa tag kumpulan, pelacakan dibatasi pada objek yang dibuat oleh proses dan memiliki salah satu tag kumpulan yang ditentukan.

  • Pelacakan Referensi Objek tidak dapat melacak proses yang sudah berjalan saat pelacakan dimulai. Jejak hanya mencakup objek proses yang dimulai setelah jejak dimulai.

  • Objek yang ditandai untuk pelacakan dilacak hingga objek dihancurkan atau pelacakan dinonaktifkan. Secara default, jejak untuk objek dipertahankan hanya sampai objek dihancurkan, tetapi Anda dapat menentukan jejak "permanen" (/p) di mana jejak dipertahankan sampai pelacakan dinonaktifkan.

  • Anda dapat menyimpan konfigurasi Pelacakan Referensi Objek sebagai pengaturan registri atau pengaturan bendera kernel (run-time). Jika Anda memiliki pengaturan bendera registri dan kernel, pengaturan run-time lebih diutamakan, tetapi hilang saat Anda mematikan atau menghidupkan ulang komputer.