Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si sta provando a trovare altre informazioni sugli oggetti Direct3D durante il debug? Ad esempio, la schermata seguente mostra ciò che viene in genere visualizzato quando si esamina un'interfaccia Direct3D nella finestra dell'orologio.
È possibile abilitare gli oggetti di debug principali in modo che un oggetto mirror che contiene tutte le proprietà dell'oggetto possa essere visualizzato nella finestra di osservazione. È sufficiente includere i #define seguenti nel codice prima del file D3D9.h:
#define D3D_DEBUG_INFO
Per abilitare le informazioni di debug, il #define deve essere compilato prima del file D3D9.h (qualsiasi programma che usa DXUT abiliterà automaticamente D3D_DEBUG_INFO quando il programma viene compilato per il debug). Se si esegue un esempio sdk, è possibile visualizzare questo aspetto in DXStdAfx.h (che influisce su tutti gli esempi C++). È anche necessario eseguire il runtime Direct3D di debug , che può essere abilitato dal Pannello di controllo, se necessario.
Di seguito è riportato un esempio che usa l'esempio basicHLSL .
- Aggiungere il #define al file Dxstdafx.h prima della riga 37.
- Compilare un progetto di debug.
- Impostare un punto di interruzione alla riga 307 in BasicHLSL.cpp
- Eseguire il debugger.
La schermata seguente mostra il tipo di informazioni dettagliate che è possibile ottenere su un oggetto trama Direct3D dalla finestra dell'orologio.
Nota
I nomi delle proprietà dell'oggetto sono visibili e i valori sono corretti solo quando il runtime di debug è abilitato. Durante l'esecuzione nel runtime retail, i valori non sono validi.
Usare lo stack di chiamate per il debug ampliato
Con il debug Direct3D abilitato, è anche possibile esaminare uno stack di chiamate ogni volta che viene creato un oggetto. In questo modo l'applicazione sarà molto lenta, ma può essere usata per verificare la presenza di perdite di risorse. Per scrivere lo stack di chiamate, impostare la chiave del Registro di sistema seguente su 1:
\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Direct3D\\
D3D9Debugging\\EnableCreationStack
La compilazione dell'applicazione con debug abilitato consentirà di accedere a questa variabile aggiuntiva:
LPCWSTR CreationCallStack;
Questa variabile archivierà lo stack di chiamate ogni volta che viene creato un oggetto. In questo modo l'applicazione risulta molto lenta, ma può essere usata per eseguire il debug delle perdite di risorse.
Argomenti correlati