Mengaktifkan Informasi Debug Direct3D (Direct3D 9)
Apakah Anda mencoba mencari tahu informasi selengkapnya tentang objek Direct3D selama debug? Misalnya, cuplikan layar berikut menunjukkan apa yang biasanya Anda lihat saat melihat antarmuka Direct3D di jendela watch.
Anda dapat mengaktifkan objek debug inti sehingga objek cermin yang berisi semua properti objek dapat dilihat di jendela watch. Cukup sertakan #define berikut dalam kode Anda sebelum file D3D9.h:
#define D3D_DEBUG_INFO
Untuk mengaktifkan informasi debug, #define harus dibangun sebelum file D3D9.h (Program apa pun yang menggunakan DXUT akan secara otomatis mengaktifkan D3D_DEBUG_INFO ketika program dikompilasi untuk debug). Jika Anda menjalankan sampel SDK, Anda dapat melihat ini di DXStdAfx.h (yang memengaruhi semua sampel C++). Anda juga harus menjalankan runtime Direct3D debug (yang dapat diaktifkan dari Panel Kontrol jika perlu).
Berikut adalah contoh menggunakan Sampel BasicHLSL.
- Tambahkan #define ke file Dxstdafx.h sebelum baris 37.
- Membangun proyek debug.
- Mengatur titik henti di baris 307 di BasicHLSL.cpp
- Jalankan debugger.
Cuplikan layar berikut menunjukkan jenis informasi terperinci yang bisa Anda dapatkan tentang objek tekstur Direct3D dari jendela watch.
Catatan
Nama properti objek terlihat dan nilainya benar hanya saat runtime debug diaktifkan. Saat berjalan terhadap runtime ritel, nilainya tidak valid.
Menggunakan Tumpukan Panggilan untuk Debug yang Diperluas
Dengan debug Direct3D diaktifkan, Anda juga dapat melihat tumpukan panggilan setiap kali objek dibuat. Ini akan membuat aplikasi Anda sangat lambat, tetapi dapat digunakan untuk memeriksa kebocoran sumber daya. Untuk menulis tumpukan panggilan, atur kunci registri berikut ke 1:
\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Direct3D\\
D3D9Debugging\\EnableCreationStack
Membangun aplikasi Anda dengan debug diaktifkan akan memberi Anda akses ke variabel tambahan ini:
LPCWSTR CreationCallStack;
Variabel ini akan menyimpan tumpukan panggilan setiap kali objek dibuat. Ini akan membuat aplikasi Anda sangat lambat, tetapi dapat digunakan untuk men-debug kebocoran sumber daya.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk