im Debugger läufts korrekt - sonst ned
-
Tja, wie kann das sein?
Wenn ich die EXE, die zum Debuggen erstellt wird, von der Konsole aus starte,
krieg ich den Fehler, dass eine Datei sich nicht öffnen lässt.Lass ich aber den Debugger drüber laufen, geht alles wunderbar.
Was aber auch noch suspekt ist:
die Datei wird in einer Funktion geöffnet, und es hängt scheinbar von dem Parameter der Funktion ab,
ob dies erfolgreich ist.
Dabei hat dieser Parameter aber mit dem Dateiöffnen rein gar nix zum tun.Achja, hab hier den Borland C++ Builder vor mir liegen.
Der Anfang der Funktion:
std::deque<std::string> * INI::getLines(std::string heading) { // Datei öffnen this->fin.open(this->fileName.c_str()); if (!this->fin.good()) { std::cerr<<"Fehler beim Oeffnen der Datei "<<this->fileName<<std::endl; exit(1); }
vielleicht hat ja jemand einen Geistesblitz für mich
mfg
MartinPS:
Bin möglicherweise im falschen Forum, aber ich weiss wirklich ned, wo des jetzt hin gehört...
(C++, Compiler, oder doch hier drin? Im Zweifel bitte Verschieben, danke)
-
Ich hatte es mal genau anders herum. Bei mir lag es daran, dass ich die Datei, die geöffnet werden sollte, nicht in dem Ordner war, in dem der Debugger das Programm geöffnet hatte. Also kopiere die Datei in den Ordner, von dem aus du selber das Programm startest.
-
im Debugger läufts korrekt - sonst ned
- im Debugger läufts ja auch nicht korrekt. Der Debug-Code enthält noch die Symboltabellen, wenn also z.B. eine Bereichsüberschreitung beim Schreiben oder Lesen in/aus ein(em) Array (einen String) auftritt, so liefert das keinen Fehler (Zugriffs-Schutzverletzung), weil's ja innerhalb des "eigenen" Codes auftritt. Und liefert beim Lesen vielleicht unsinnge Werte (aus den Symboltabellen).
Also nochmal nachsehen, ob alles korrekt ist.Blackbird
-
Schreib das Programm doch mal testweise um, dass eine Datei erzeugt wird.
Dann kannst du sehen, in welchem Verzeichnis die Datei erzeugt wird.
-
Danke für die Antworten.
weiss zwar immer noch ned, wo der Fehler steckt,
aber zumindest bin ich schon mal draufgekommen,
dass der Fehler nicht da herkommt, wo ich bisher immer gesucht hab
(wenn's auch dort am naheliegensten wäre...)Aber warum des sch...öne Prog ned funzt, weiss ich immer no ned.
Bin zumindest schon mal beruhigt, dass es jetzt auch im Debugger abkacktthx
Martin