C++ Debugger Fehler, konnte nicht geladen werden.

Elphatis

Newbie
Registriert
Juni 2015
Beiträge
4
Hallo,

ich habe erst vor kurzem ein Programm geschrieben und möchte den gerne ausführen. Aber wenn ich diesen Debuggen möchte kommt diese melden. Was soll ich tun ?




"Quizzz.exe" (Win32): "C:\Users\Alexandros\Desktop\C++\Quizzz\Debug\Quizzz.exe" geladen. Symbole wurden geladen.
"Quizzz.exe" (Win32): "C:\Windows\SysWOW64\ntdll.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"Quizzz.exe" (Win32): "C:\Windows\SysWOW64\kernel32.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"Quizzz.exe" (Win32): "C:\Windows\SysWOW64\KernelBase.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"Quizzz.exe" (Win32): "C:\Windows\SysWOW64\msvcp120d.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
"Quizzz.exe" (Win32): "C:\Windows\SysWOW64\msvcr120d.dll" geladen. PDB-Datei wurde nicht gefunden oder konnte nicht geöffnet werden.
Das Programm "[5800] Quizzz.exe" wurde mit Code 0 (0x0) beendet.
 
Das ist kein Fehler, sondern einen Hinweis den du Laie ignorieren kannst.
Dein Programm wurde korrekt ausgeführt ( Returncode 0 ).
 
Wieso kann ich dann das spiel nicht testen ? Habe es fertig Programmiert aber es öffnet sich nur 1 Sekunde und schlisst sich sofort wieder.
 
Ohne übermenschliche Fähigkeiten oder Einsicht in den Quelltext wird dir das niemand mit Sicherheit sagen können. ;)
 
Main.cpp

#include <iostream>
#include <Windows.h>
#include <stdio.h>


#include "FragenAntworten.h"

using namespace std;

int main(){

Fragen fragen;
Antworten antworten;

int zaehler = 1;
int punkteRichtig = 0;
int punkteFalsch = 0;

while (zaehler <= fragen.fragenAnzahl){



string eingabe = "";

cout << fragen.getFrage(zaehler - 1) << endl;
cout << "Eingabe:";
cin >> eingabe;


cout << endl;

if (eingabe == antworten.getAntworten(zaehler - 1)){

cout << "Richtig: Die Antwort war" << antworten.getAntworten(zaehler - 1);
punkteRichtig++;
}

else {

cout << "Falsch: Die Antwort wäre " << antworten.getAntworten(zaehler - 1);
punkteFalsch++;


}


Sleep(2500);

system("cls");
zaehler++;



}

cout << "Richtig beantwortet: " << punkteRichtig << " / " << fragen.fragenAnzahl << endl;
cout << "Falsch beantowertet: " << punkteFalsch << endl;


cout << endl;

system("Pause");
fragen.~Fragen();
antworten.~Antworten;
return 0;
}
 
1. Code in code-Tags packen, damit das lesbar wird.
2. Vermutung: Die Bedingung im Kopf deiner while-Schleife ist von Anfang an nicht erfüllt. Kann man aber nur mit Sichheit sagen, wenn du uns auch den Code für den Konstruktor der Klasse Fragen zeigst.
3. Was sollen die expliziten Destruktor-Aufrufe am Ende von main()?? Die Destruktoren von lokalen Variablen werden beim Verlassen eines Blocks völlig automatisch aufgerufen. Die mußt und sollst du nicht explizit aufrufen.
 
@antred.
Das hätte ich jetzt auch vermutet, aber müsste "system("Pause");" am Ende nicht in jedem Fall verhindern, dass sofort Return 0 zurückgegeben wird?
 
Ochse schrieb:
@antred.
Das hätte ich jetzt auch vermutet, aber müsste "system("Pause");" am Ende nicht in jedem Fall verhindern, dass sofort Return 0 zurückgegeben wird?

Das stimmt allerdings. Dazu habe ich im Moment keine Erklärung.
 
#ifndef FRAGENANTOWRTEN_H
#define FRAGENANTWORTEN_H

#include <iostream>
#include <string>

using namespace std;


class Fragen {

public:

Fragen(){};
~Fragen(){};


const static int fragenAnzahl = 3;


string getFrage(int wert){

string Frage[fragenAnzahl];


Frage[0] = "Farge 1 ";
Frage[1] = "Frage 2 ?";
Frage[2] = "Frage 3 ?";


return Frage[wert];
}

private:


};


class Antworten{

public:

Antworten(){};
~Antworten(){};

const static int antwortenAnzahl = 3;

string getAntworten(int wert){
string Antwort[antwortenAnzahl];

Antworten [0] = "Antwort1";
Antworten [1] = "Antwort2";
Antworten [2] = "Antwort3";


return Antwort[wert];
}

private:

};

#endif
 
Über Sinn und Schönheit deines Codes läßt sich streiten, aber wenn DAS wirklich der Code ist, den du kompiliert und ausgeführt hast, dann hätte das Programm sich meines Erachtens nicht sofort schließen können.

Eventuell hast du noch eine alte Exe rumliegen, die nicht den jetzigen Stand deiner Arbeit widerspiegelt und führst fälschlicherweise diese alte Version aus?
 
Was mir so aufgefallen ist:

Code:
#ifndef FRAGENANTOWRTEN_H
#define FRAGENANTWORTEN_H

du checkst erstmal ob "FRAGENANTOWRTEN_H" nicht definiert ist, danach definierst du "FRAGENANTWORTEN_H". Korrigiere das mal! Wird wahrscheinlich nicht das Problem beheben, ist aber ein Problem, wenn du die Header Datei in verschiedenen cpp Dateien inkludierst...
 
Zuletzt bearbeitet:
Rossibaer schrieb:
Was mir so aufgefallen ist:

Code:
#ifndef FRAGENANTOWRTEN_H
#define FRAGENANTWORTEN_H

du checkst erstmal ob "FRAGENANTOWRTEN_H" nicht definiert ist, danach definierst du "FRAGENANTWORTEN_H". Korrigiere das mal! Wird wahrscheinlich nicht das Problem beheben, ist aber ein Problem, wenn du die Header Datei in verschiedenen cpp Dateien inkludierst...

Was soll er da korregieren?? Da ist ein vollkommen korrekter include guard, um Mehrfach-Inkludierung des selben Headers in einer Übersetzungseinheit zu verhindern.

EDIT: Sorry, da war ich vorschnell. Habe nicht auf die Rechtschreibung geachtet. Du hast völlig Recht.
 
Zurück
Oben