JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=0e12d5646c136aec544b76f92f124470Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Access violation tritt beim Debuggen nicht auf

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
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

BeitragVerfasst am: 03.05.2006, 17:36    Titel: Access violation tritt beim Debuggen nicht auf Antworten mit Zitat

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) Exclamation

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 03.05.2006, 17:43    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 03.05.2006, 18:12    Titel: Antworten mit Zitat

Hmm, stimmt das habe ich in meiner Frustraion wohl vergessen Confused .
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 Very Happy .

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 Embarassed . Danke Greven, hast mich auf den Pfad der Tugend zurückgeführt Laughing .
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 03.05.2006, 18:42    Titel: Antworten mit Zitat

Harhar, so macht bugfixing doch immer wieder Spaß: Search and Destroy. Das sind doch immer wieder die schönsten Momente. Cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum