DirectX "zugriffsverletzung,cannot find or open file..."

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
newby
Beiträge: 3
Registriert: 18.05.2012, 10:50

DirectX "zugriffsverletzung,cannot find or open file..."

Beitrag von newby »

ich habe folgendes problem:
ich hab mir http://www.directxtutorial.com/Tutorial ... aspx#still
durchgelesen und ausprobiert, aber es erscheinen nach dem erstellen z.B. folgende (fehler) meldungen:
"Tutorial05.exe": "C:\Windows\SysWOW64\igd10umd32.dll" geladen, Cannot find or open the PDB file
"Tutorial05.exe": "C:\Windows\SysWOW64\D3D11SDKLayers.dll" geladen, Cannot find or open the PDB file
"Tutorial05.exe": "C:\Windows\SysWOW64\D3DCompiler_42.dll" geladen, Cannot find or open the PDB file
bei dem nächsten tutorialschritt( maximieren des fensters) bevor das fenster voll gefüllt ist ein weiterer fehler( zugriffsverletzung auf 0*....)
und der letzte fehler betrifft die samples aus der vorinstallierten directX dokumentation:
er erkennt D3DCOMPILE_ENABLE_STRICTNESS und D3DCOMPILE_DEBUG nicht . solange ich nicht den folgen codeblock:

DWORD dwShaderFlags = D3DCOMPILE_ENABLE_STRICTNESS;
#if defined( DEBUG ) || defined( _DEBUG )
// Set the D3DCOMPILE_DEBUG flag to embed debug information in the shaders.
// Setting this flag improves the shader debugging experience, but still allows
// the shaders to be optimized and to run exactly the way they will run in
// the release configuration of this program.
dwShaderFlags |= D3DCOMPILE_DEBUG;

entferne und den parameter in

hr = D3DX11CompileFromFile( szFileName, NULL, NULL, szEntryPoint, szShaderModel,
0, //(eigentlich)dwShaderFlags
0, NULL, ppBlobOut, &pErrorBlob, NULL );

von dwShaderFlags auf 0 setze, spukt er einen fehler aus

könnte jemand mir bitte die sachen erläutern?
ich hab ehrlich gesagt (noch) fast keine ahnung in sachen DirectX, deshalb würde ich mich über eine antwort freuen
mfg
newby
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: DirectX "zugriffsverletzung,cannot find or open file..."

Beitrag von eXile »

newby hat geschrieben:"Tutorial05.exe": "C:\Windows\SysWOW64\igd10umd32.dll" geladen, Cannot find or open the PDB file
"Tutorial05.exe": "C:\Windows\SysWOW64\D3D11SDKLayers.dll" geladen, Cannot find or open the PDB file
"Tutorial05.exe": "C:\Windows\SysWOW64\D3DCompiler_42.dll" geladen, Cannot find or open the PDB file
Das sind keine Fehler im eigentlichen Sinne. Es bedeutet, dass die entsprechenden DLLs ohne Debug-Symbole gebaut wurden, was hierbei vollkommen normal ist; es sind nämlich die DLLs von Direct3D und deines Intel-Benutzermodus-Graphiktreibers. Das kannst du erst einmal ignorieren, wenn du jetzt nur das Beispiel zum Laufen bringen willst. (Ansonsten kannst du auch das Laden von Symbolen für einige DLLs einschalten; ich glaube aber, das führt erstmal zu weit).
newby hat geschrieben:bei dem nächsten tutorialschritt( maximieren des fensters) bevor das fenster voll gefüllt ist ein weiterer fehler( zugriffsverletzung auf 0*....)
Das ist in der Tat ein Fehler; was aber merkwürdig ist, weil der dort gezeigte Code bei mir vollständig funktioniert.
newby hat geschrieben:und der letzte fehler betrifft die samples aus der vorinstallierten directX dokumentation:
er erkennt D3DCOMPILE_ENABLE_STRICTNESS und D3DCOMPILE_DEBUG nicht .
Das ist auch merkwürdig. Dort wird normalerweise die DXUT.h eingebunden, welche wiederum die D3Dcompiler.h einbindet, wo diese #defines definiert werden.
newby
Beiträge: 3
Registriert: 18.05.2012, 10:50

Re: DirectX "zugriffsverletzung,cannot find or open file..."

Beitrag von newby »

"Das ist auch merkwürdig. Dort wird normalerweise die DXUT.h eingebunden, welche wiederum die D3Dcompiler.h einbindet, wo diese #defines definiert werden."
meinst du damit, dassich DXUT.h einbinden musse(wenn ja, dann erklärt es das, weil das nicht im quelltext auftaucht...)
newby
Beiträge: 3
Registriert: 18.05.2012, 10:50

Re: DirectX "zugriffsverletzung,cannot find or open file..."

Beitrag von newby »

"Unbehandelte Ausnahme bei 0x002517f1 in dada.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00000000."
--> der genaue fehler beim maximieren-programm
Benutzeravatar
Schrompf
Moderator
Beiträge: 4859
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: DirectX "zugriffsverletzung,cannot find or open file..."

Beitrag von Schrompf »

Für die Lesbarkeit: Benutze bitte [quote] Tags für das Zitieren und

Code: Alles auswählen

-Tags für Code. Danke.

Außerdem: Du hast eingangs Log-Ausgaben zitiert. Die lesen sich, wie als ob Du Visual Studio benutzt. Warum benutzt Du dann nicht den Debugger, um den Absturz zu finden? Wenn Du aus Visual Studio heraus die Anwendung startest und die "Debug"-Buildkonfig benutzt, müsste er Dir auf die Zeile genau sagen, wo es abstürzt und woran das liegt. 

Dein zitierter Text besagt: "Zugriffsverletzung beim Lesen an Position 0x00000000". Das heißt, dass Du von einem Null-Pointer zu lesen versuchst. Im Kontext eines DirectX-Neulings liegt das meist daran, dass Du eine Resource erzeugen wolltest und das schief gegangen ist. Demzufolge ist der Zeiger auf die Resource immernoch null, und Dein erster Versuch danach, diese Resource zu verwenden, führt zu eben jenem Crash. Gehe mit einem Debugger Schritt für Schritt durch Dein Programm, um den genauen Ablauf zu sehen, überprüfe alle Rückgabewerte, die Du von DirectX-Aufrufen bekommst, und lies die Dokumentation zu der Funktion, die scheitert.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
CrystalCoder
Beiträge: 54
Registriert: 03.03.2002, 17:51
Kontaktdaten:

Re: DirectX "zugriffsverletzung,cannot find or open file..."

Beitrag von CrystalCoder »

Die Seite von der du das Tutorial hast bietet wie ich auf den ersten Blick sehe nicht mehr, als das was es in unmengen auch frei im Internet zu finden gibt.
Ich würde jedenfalls kein Geld für die Inhalte ausgeben, die dort angeboten werden.

DX Tutorials gibts in Massen und gratis (um nur ein paar zu nennen):
http://www.toymaker.info/
http://www.rastertek.com/tutindex.html
http://takinginitiative.net/directx10-tutorials/
http://msdn.microsoft.com/en-us/library/ff729717

Soll nicht heißen, dass ich garkein Geld ausgeben würde, sondern wenn, dann würd ich es in ein gutes Buch investieren.
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: DirectX "zugriffsverletzung,cannot find or open file..."

Beitrag von dot »

Schrompf hat geschrieben:...
Und verwend die Direct3D Debug Runtime und schau dir an was sie dir zu sagen hat...
Antworten