Crash bei IDirect3DDevice9::Present und Debug Runtime



  • Hallo,
    Ich hab neuerdings ein seltsames Problem, dass ich mir nicht so richtig erklären kann. Ich hab mal im DirectX Control Panel auf die Debug Runtime umgeschaltet, weil ich ein Problem hatte, wo ich Debug Output gebrauchen konnte. Damit ist aber ein ganz anderes Problem aufgetaucht, nämlich dass die Anwendung jetzt immer beim ersten Aufruf von Present mit einer Zugriffsverletzung crasht. Hab es noch mit verschiedenen kleineren Anwendungen getestet, und jede erzeugt beim ersten Aufruf der Funktion diesen Fehler.
    Ich hab alles gecheckt, das Device ist erstellt und somit kein NULL-Zeiger und im Debug-Window werden keine Fehler angezeigt, da gibts nur ein paar (INFO) Einträge, aber nach dem Aufruf steht nur das da:

    First-chance exception at 0x6fcadfbf in Test - Console.exe: 0xC0000005: Access violation reading location 0x00000188.
    Unhandled exception at 0x6fcadfbf in Test - Console.exe: 0xC0000005: Access violation reading location 0x00000188.
    

    Viel mehr aber auch nicht. Keine Angabe, was zu dem Fehler geführt haben könnte, obwohl ich schon im Control Panel das maximale Debug Output Level eingestellt habe.
    Wenn ich wieder auf Retail umschalte, klappts wieder. Aber dann hab ich ja keine Debugginginfos mehr.
    Hat jemand vielleicht eine Idee oder das gleiche Problem schon gehabt? Ich benutze übrigens DirectX 9.0c.

    Danke,
    Norman



  • Ich glaube ich hatte das auch mal, aber das hat sich dann gelöst, als ich alle anderen Fehler behoben habe. Zeig mal, was sonst noch so im Output steht.

    Sonst probier mal das neuste SDK zu laden und schau, ob der Fehler immer noch besteht.



  • Also ich hab schon viel ausprobiert. In meinem Debug Output steht:

    Direct3D9: :====> ENTER: DLLMAIN(6f3c9b10): Process Attach: 000007d0, tid=00000fac
    Direct3D9: :====> EXIT: DLLMAIN(6f3c9b10): Process Attach: 000007d0
    Direct3D9: (INFO) :Direct3D9 Debug Runtime selected.
    'Test - Console.exe': Loaded 'C:\Windows\System32\nvd3dum.dll', No symbols loaded.
    Direct3D9: (INFO) :======================= Hal HWVP device selected
    
    Direct3D9: (INFO) :HalDevice Driver Style b
    
    Direct3D9: :DoneExclusiveMode
    Direct3D9: (INFO) :Using FF to VS converter
    
    Direct3D9: (INFO) :Using FF to PS converter
    
    D3D9 Helper: Warning: Default value for D3DRS_POINTSIZE_MAX is 2.19902e+012f, not 2.2312e-316f.  This is ok.
    'Test - Console.exe': Loaded 'C:\Windows\System32\clbcatq.dll', No symbols loaded.
    First-chance exception at 0x6f3fdfbf in Test - Console.exe: 0xC0000005: Access violation reading location 0x00000188.
    Unhandled exception at 0x6f3fdfbf in Test - Console.exe: 0xC0000005: Access violation reading location 0x00000188.
    

    Also leider nirgendwo ein Anhaltspunkt was es sein könnte, hab sogar mit D3D_DEBUG_INFO kompiliert, um mehr Ausgabe zu erhalten. Scheint ein Fehler zu sein, der von der Debug Runtime nicht behandelt wird und somit auch keinen Output erzeugt. Ich hab gestern schon den ganzen Tag rumprobiert und es mit verschiedenen SDKs seit 2004 ausprobiert, u.a. auch dem neuesten von Juni 2008, und es war immer das gleiche. Außerdem hab ich 3 Treiberversionen meine NVIDIA Karte durchprobiert, falls es ein Treiberfehler gewesen wäre.
    Das einzige was wirklich seltsam ist, ist, dass alles klappt, sobald ich entweder auf die Retail Runtime umschalte oder in den Presentation Parameters Vollbild einstelle (bei einem Reset zurück auf "Windowed = TRUE" stürzt er aber wieder ab).
    Bin langsam echt ratlos.


Anmelden zum Antworten