Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

helebelele

Frischling

  • »helebelele« ist der Autor dieses Themas

Beiträge: 32

Wohnort: Düsseldorf

  • Private Nachricht senden

1

26.10.2011, 20:46

Unbehandelte Ausnahme bei 0x776a2d37...

Hallo,

ich habe ein Problem mit einem von mir geschriebenen Programm.
Ich benutze MS VS 2010 Prof und C++. Das Programm ist eine Win32-Konsolenanwendung.

Wenn das Programm startet, gibt es ein Menü mit 3 Punkten.
Wenn ich den letzten Punkt "Beenden" wähle, schließt sich die Konsolenanwendung sofort. Wenn ich jedoch zu erst den ersten Punkt "Neues Spiel starten" wähle, wird man aufgefordert einen Namen
für seine Figur einzugeben und eine Rasse zu wählen. Danach wird eine Instanz einer Klasse für den Spieler erstellt, in der diese Informationen und noch ein paar Werte in Variablen gespeichert sind.
Danach öffnet sich wieder das Menü. Wenn ich jetzt die Konsole schließen will, öffnet sich eine Fehlermeldung von Visual Studio.


(Link)

Uploaded with ImageShack.us

Kann mir da irgendwer was zu sagen? Ich kann auch falls nötig den Quellcode hochladen. Die Anwendung besteht momentan aus 5 kleinen Dateien. Also nicht so viel Text. Womöglich noch unnötig das Programm so aufzuteilen, aber ich hab gestern damit angefangen und hab jetzt nur ne grobe Strukturierung vorgenommen, da das Projekt noch um einiges größer wird. :)

Hoffe mir kann da jemand von euch helfen.

edit:
Hilft die Information, dass ich Win7 32-bit hab? Wobei ich da vorher auch nie Probleme mit hatte :S

Gruß Tino :D

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »helebelele« (26.10.2011, 20:51)


BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

2

26.10.2011, 21:19

Klicke auf "Unterbrechen" und springe mal im Aufruf-Stack zu der Stelle, wo eine deiner Funktionen den Fehler verursacht und poste den Code dieser Funktion.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

26.10.2011, 21:27

Jop am Callstack raufgehen und schauen was du da treibst. Offenbar dereferenzierst du irgendwo einen ungültigen Zeiger.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

4

26.10.2011, 21:45

Ich habs mir angeschaut. Der Fehler tritt auf wenn diese Zeilen:

C-/C++-Quelltext

1
2
string foo;
cin >> foo;

ausgeführt werden?

mit

C-/C++-Quelltext

1
2
string foo;
getline(cin, foo);
behoben.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

26.10.2011, 21:46

Das ist allerdings sehr merkwürdig. Sicher, dass da nicht vielleicht ein Buffer-Overflow weiter oben den string kaputtgemacht hat oder sowas?

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

6

26.10.2011, 21:48

Der Code war sehr übersichtlich. Ich musste den Fehler auch bis zur letzten Zeile per Auskommentierung eingrenzen, weil ich keine Fehler gefunden habe :/
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

26.10.2011, 21:56

Hm. Die Sache ist nur: Wenns tatsächlich an dieser Zeile lag, dann würde das wohl auf einen Bug in der Standardbibliothek hindeuten, was ich mir in dem Fall ehrlich gesagt nicht vorstellen kann. Und wenns nicht an dieser Zeile lag, dann ist der Bug wohl immer noch da...

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

8

26.10.2011, 22:04

Das vermute ich auch. Er hatte einige Projekteinstellungen verändert. Also so, dass die Einstellungen bei jedem neuen Projekt drin sind. Wahrscheinlich ist da etwas falsch eingestellt(ich hab allerdings nichts entdecken können). Hab ihm gesagt, er soll das zurücksetzen und ein neues Projekt erstellen. Dann musste er aber off. Wir werden uns also gedulden müssen. :D
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

27.10.2011, 09:10

Was hat das mit Game Design zu tun?
--> verschoben

helebelele

Frischling

  • »helebelele« ist der Autor dieses Themas

Beiträge: 32

Wohnort: Düsseldorf

  • Private Nachricht senden

10

27.10.2011, 09:20

Tut mir leid. Keine Ahnung wieso ich das da gepostet hab :S

Also ich hatte gestern Abend ja noch kurz die gesamten VS Einstellungen zurückgesetzt, ein neues Projekt erstellt und die Dateien in das Projekt eingefügt.
Hab jetzt immer noch die veränderte Zeile in meinem Code. Werde heut nachmittag mal gucken ob ich das jetzt wieder mit

C-/C++-Quelltext

1
cin >>

machen kann. Werde euch dann Bericht erstatten :)

Vielen Dank nochmal an dich, NachoMan :D

Werbeanzeige