JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Fehler-Meldung

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 09.05.2003, 18:40    Titel: Fehler-Meldung Antworten mit Zitat

Mein Programm stürzt an einer bestimmten Stelle ab - deshalb habe ich den Debugger zu Hilfe genommen, dieser gibt ein Fenster mit folgender Meldung aus:

Unhandled exception in text.exe: 0xC0000005: Access Violation

Woran könnte das liegen? Rolling Eyes
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 09.05.2003, 21:15    Titel: Antworten mit Zitat

Oh je, den Fehler hatte ich auch schon öfters. Aber ich weiß auch nich so genau, worans lag Question
Ich glaube, bei dieser Meldung stimmt irgendwas mit den Bedingungen nicht(z.B. Dateizugriff auf geschlossene Datei, etc...).
Kannst du vielleicht mal etwas Quellcode posten?
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 09.05.2003, 23:20    Titel: Antworten mit Zitat

Hi,
dies kommt immer, wenn man probiert mit einem Zeiger auf etwas zu zugreifen, was nicht resierviert wurde. Es gibt also einige verschiedene Möglichkeiten, bei Dateiarbeit mit FILE* p kann die bspw. kommen, wenn man fclose(); benutzt, obwohl p auf NULL zeigt. Oder, wenn du womöglich ausversehen auf ein nicht existierendes Element eines Arrays zugreifen willst. Oder Oder Oder...
wie schon erwähnt, wäre ein wenig Quelltext nicht schlecht, aber wenn du mal den Debugger anschmeißt, müsstest du die Stelle finden, an der es zu diesem Fehler kommt und dann solltest du auch in der Lage sein, herauszufinden, woran es liegt.

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 10.05.2003, 10:38    Titel: Antworten mit Zitat

Ist schon seltsam,
der Fehler kommt bei einer If-Abfrage in der ich ein Zeichen in einem char-Feld überprüfen möchte.

Code:

for(........)
{
   if ('1' == charFeld[i])  // Hier kommt der Fehler zustande
   {
          ...
   }
}


Das seltsame daran ist, wenn ich anstatt '1' zum Beispiel einen Buchstaben wie 'e' nehme, dann funktioniert es, aber nicht mit Zahlen...
Aber ich will ja schließlich Zahlen überprüfen.

Zu Testzwecken habe ich den Code erweitert, um zu überprüfen ob charFeld[i] evtl. einen ungültigen Wert hat, etc.

Code:

for(........)
{

   cout << charFeld[i];  // Funktioniert einwandfrei mit den richtigen Werten

   if ('1' == charFeld[i])  // Hier kommt der Fehler zustande wenn mit einer Zahl vergleichen möchte
   {
          ...
   }
}


Fehlanzeige Sad
Müsste ja eigentlich dann funzen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 10.05.2003, 11:36    Titel: Antworten mit Zitat

Was für ein Programm soll es denn werden?
Du kannst doch einfach ein int oder short Feld nehmen, wenns nur für Zahlen sein soll.
Was mich noch interessieren würde ist, wie der Kopf der for-Schleife aussieht. Vielleicht greift du ja unabsichtlich auf ein ungültiges Element des Feldes zu.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Starwash
Senior JLI'ler


Alter: 40
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 10.05.2003, 12:47    Titel: Antworten mit Zitat

Hi,
diese unabsichtliche Dereferenzierung eines Elementes des Feldes, welches nicht existiert halte ich für unwahrscheinlich, da soweit ich nepomuk verstanden habe, funktioniert diese Dereferenzierung ja bei dem cout einwandfrei, jedoch wäre dies auch die einzig denkbare Fehlerquelle die mir zu diesen paar Zeilen Quelltext einfällt. Wie gesagt nepomuk, schmeiß den Debugger an und prüfe,prüfe und prüfe bis der Fehler von alleine nachgibt, da der klügere ja schließlich bekanntlicher Weise von alleine nachgibt. Wink Spaß bei Seite, ich kann dir da nur Debuggen und viel Anstrengung des Gehirnschmalzes empfehlen.

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
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