|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Dr. Best Senior JLI'ler
Alter: 34 Anmeldedatum: 17.06.2004 Beiträge: 269 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 03.05.2006, 17:36 Titel: Access violation tritt beim Debuggen nicht auf |
|
|
Tach,
ich bin zur Zeit an einer unbehandelten Ausnahme in meinem neuen Modelloader und -manager (für *.3ds, *.md2, *.md3, *.an8, *.x und meine selbstentworfenen *.u3d Dateien) am verzweifeln.
Das Hauptproblem ist eigentlich, dass der Fehler nur auftritt wenn ich das Programm ohne Debugmodus ausführe (keine Releaseversion)
Die Sache wird sogar noch schwieriger, da das Programm eine DLL ist, die in ein Programm eingebunden wird, das außerhalb von Visual C++ erstellt wird. Und dieses Programm fängt alle Ausnahmen ab und zeigt dann immer die gleiche Nachricht an.
Ich habe durch ausprobieren herausgefunden wo genau die Ausführung des Programms aufhört, nämlich bei einem D3DXLoadTextureFromFileEx Aufruf. Doch da die Argumente richtig sind und diese Stelle nichts mit dem Modelloader zu tuen hat nehme ich an, dass das ein Folgefehler ist.
Den Teil den ich hinzugefügt habe bevor der Fehler auftrat habe ich bereits nach Fehlern durchsucht und auskommentiert, ohne Erfolg.
Als ich das Problem im Nachtschwärmer erwähnt hatte, hat TLoP gemeint, dass es an nicht initialisierten Variablen liegen könnte. Doch eigentlich habe ich allen Variablen entweder einen Wert zugewiesen oder sie mit ZeroMemory genullt bevor ich sie verwendet habe.
Langer Rede kurzer Sinn, ich habe eine unbehandelte Ausnahme, die ich ohne Debugger nicht finde, die aber im Debugmodus einfach nicht auftritt. Meine Frage ist also wie ich den Debugger dazu bringen kann diesen Fehler festzustellen oder was für Möglichkeiten es ansonsten gibt ihn zu finden.
Ich wäre für jeden Hinweis dankbar. Wenn es hilft könnte ich auch Quellcode posten, doch das Problem dabei ist, dass ich die Ursache nunmal nicht genau eingrenzen kann.
Mit freundlichen Grüßen
Christoph Peters _________________
Ich bin da, wer noch? |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 03.05.2006, 17:43 Titel: |
|
|
Wieviele potenzielle Übeltäter in Form von Methoden/Funktionen kommen denn in Frage?
Passiert u.U. ziemlich schnell, dass man mal vergisst ein Klassenmember im Konstruktor zu initialisieren und dann: Boom!
Wenn du wenigstens den Fehlerursprung auf eine Funktion eingrenzen könntest würde das sicher schon sehr helfen.
p.s.: Laber mich doch mal im ICQ an, dann kann ich dir eine 'callstack'-Klasse geben, mit der du die fehlerhafte Funktion auf jeden Fall findest. |
|
Nach oben |
|
|
Dr. Best Senior JLI'ler
Alter: 34 Anmeldedatum: 17.06.2004 Beiträge: 269 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 03.05.2006, 18:12 Titel: |
|
|
Hmm, stimmt das habe ich in meiner Frustraion wohl vergessen .
Habe jetzt mal durch auskommentieren festgestellt, dass der Fehler scheinbar irgendwo im *.an8 Chunkparser oder genauer gesagt im Animationschunkparser entsteht also werde ich dort jetzt mal weiter suchen.
Für den Tipp schonmal danke .
Edit:
Ok, die Sache hat sich erledigt. Es war ein dummer vertipper der dazu geführt hat, dass bei new als Feldgröße null angegeben wurde.
Ich habe also die ganze Zeit mit einem Feld der Größe null gearbeitet ohne eine Fehlermeldung zu kriegen. Aber das konnte ja nicht lange gut gehen und so kam als ich ne Sache die nix mit diesem Feld zu tuen hatte hinzugefügt habe dann doch die Fehlermeldung. Und ich habe mich davon sozusagen blindlings in die Irre führen lassen . Danke Greven, hast mich auf den Pfad der Tugend zurückgeführt . _________________
Ich bin da, wer noch? |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 03.05.2006, 18:42 Titel: |
|
|
Harhar, so macht bugfixing doch immer wieder Spaß: Search and Destroy. Das sind doch immer wieder die schönsten Momente. |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|