.at() probleme
-
Debuggen? Da schreibt man sich mal einen Unittest für.
-
Artchi schrieb:
Debuggen? Da schreibt man sich mal einen Unittest für.
Ein Unittest ist wohl nicht das richtige Mittel einen vorhandenen, kleinen Bug zu finden. Debugger an und nach ner halben Minute sich an die Stirn klopfen.
Und nächste mal gibts dann gleich den passenden Test dazu
-
Der Debugger funktioniert bei mir nicht.
-
was auch immer du für ne IDE hast. Wenn du schon keinen Debugger hast, dann
kannst du mit ein paar Ausgaben auf die Konsole oder eine Datei auch ganz gut so manches herausbekommen.gamebuntu schrieb:
Da muss noch ein Fehler drin sein die Konsole gibt immer noch den gleichen fehler aus.
Das solltest du nur sagen, wenn man den Code in die IDE kopieren und direkt compilieren kann. Mit Fragementen ist das immer schlecht.
Versuch den Fehler etwas einzugrenzen.
Ist es immer noch bei Zeile 19 oder nun bei 49 oder vielleicht ganz woanders?
-
gamebuntu schrieb:
Der Debugger funktioniert bei mir nicht.
Hast du Debugging Symbols in dein Programm gemacht und sie danach auch nicht mehr rausgestrippt?
-
OK
Ich benutz als IDE Code Blocks für Linux.
Was habt ihr für IDEs, könnt ihr mir vielleicht eine bessere empfehlen.
-
gamebuntu schrieb:
OK
Ich benutz als IDE Code Blocks für Linux.
Was habt ihr für IDEs, könnt ihr mir vielleicht eine bessere empfehlen.Tut nichts zur Sache, hab ich auch (unter Windows, unter Linux hab ich noch nie debuggt). Geh in deinem Projekt auf Project->Build Options und links auf Debug (sonst nimm was anderes), dann schalte -p an und -s aus (falls es noch nicht stimmt). Du solltest das Ganze im gleichen Modus kompilieren (also oben in der Symbolleiste auch auf Debug oder das, was du genommen hast, schalten).
Dann setzt du links irgendwo einen Breakpoint (der rote Punkt rechts neben der Zeilenzahl) und startest den Debugger mit F8. Er sollte entweder bei einer Benutzerinteraktion auf deine Aktivität warten oder direkt zum Breakpoint gelangen. Mit F7 kannst du dann Debuggen. (Ich bin mir nicht ganz sicher, ob das mit den F-Tasten funktioniert, bei mir hat's einmal funktioniert und sonst nicht, vielleicht war das, als ich Compiz hatte, sonst nimm einfach die Symbolleiste oder das Menü).P.S. Unter Debug->Debugging Windows->Watches kannst du die Werte von lokalen Variablen und Funktionsparametern betrachten.
-
Bitte nicht sowas machen:
unsigned int i = vec.size(); for(unsigned int j = 0; j < (i - 1); ++j) { //... }Denn bei dem (i - 1) kommt bei size == 0 NICHT -1 raus. Schließlich ist das unsigned.
-
wxskip bei mir kommt :
You must select a host application to "run" a library...
-
gamebuntu schrieb:
wxskip bei mir kommt :
You must select a host application to "run" a library...Klingt danach, als wolltest du eine Library debuggen, ohne sie in einer Anwendung zu benutzen. Wenn es das ist, mach eine Anwendung, in der du die Library verwendest.
-
Ja
Ich bin gerade an meiner ersten aber nur für den Eigengebrauch.
-
Ok hab eine Anwendung gemacht.
-
Und, funktioniert es?
-
Man soll doch unter Projekt -> Set programs arguments... -> debug unter host application die lib.a einsetzen.
Dann hab ich es richtig.
Er zeigt mir in der Zeile 19 das hier an:-------------- Build: Debug in conflib --------------- Compiling: conflib.cpp Compiling: conflib_aus.cpp /media/nico_/sicherung/ubuntu/Projekt/conflib/conflib_aus.cpp:19: error: stray ‘\305’ in program /media/nico_/sicherung/ubuntu/Projekt/conflib/conflib_aus.cpp:19: error: stray ‘\231’ in program Process terminated with status 1 (0 minutes, 2 seconds) 2 errors, 0 warnings
-
1. Das ist bestimmt nicht "Set program arguments", sondern "Build Options"
2. Dein Fehler bedeutet AFAIK, dass da irgendwelche ungültigen Zeichen, z.B. Umlaute, in deinem Programm sind.
-
Doch ist Set program arguments.
Danke für die hilfe wxskip ohne dich wär ich nie weiter gekommen.
-
gamebuntu schrieb:
Doch ist Set program arguments.
Danke für die hilfe wxskip ohne dich wär ich nie weiter gekommen.
OK, ist neu für mich

Ich hab aber auch noch nie 'ne Library mit Code::Blocks geschrieben.
-
so jetzt find ich nichts mehr aber es kommt bei meiner anwendung immer noch der fehler mit .at().
-
gamebuntu schrieb:
so jetzt find ich nichts mehr aber es kommt bei meiner anwendung immer noch der fehler mit .at().
Was findest du nicht mehr?
Jetzt kannst du ja den Fehler mit dem Debugger suchen.
-
Ich hab ja gesucht aber er findet nichts.