Verwenden eines Debuggers
-
mmh - entweder ich bin einfach zu dumm, oder im Internet wird nie ordentlich beschrieben wie ich einen Debugger benutze!
Ich benutze ein Linux-Betriebssystem und den compiler g++. Ich habe schon herausgefunden, dass ich wohl mit einem -o kompilieren muss, um ueberhaupt einen Debugger nutzen zu koennen.
Ich glaube es ist auch schon ein Debugger auf meinem System installiert (gdb).Ich will ja nicht viel von dem Ding - ich will einfach nur wissen an welcher Stelle genau mein Programm abbricht. Warum ist nicht mal so wichtig - einfach nur wo
.
Ach waren das noch schoene Zeiten, als ich mit Matlab arbeiten durfte - naja wie dem auch sei. Schon mal vielen Dank fuer eure Hilfe
Thorsten
-
benutz eine IDE wie Code::Blocks die vereinfacht dir das...
-
Hehe danke fuer die schnelle Antwort, aber ich denke, wenn ich das verstehen wuerde, braeuchte ich auch keine Hilfe wie ich einen Debugger benutze.
ich dachte das waere einfach irgendein Befehl mit dem ich den Debugger starten muesste?
-
DAs hat hier im C++-Unterforum herzlich wenig zu suchen.
Aber egal: ein Debugger ist ein Tool. Das Tool muß man wohl auch starten, wird wohl auch der GDB sein. Außerdem muß der debugger auch die Funktion anbieten, die du erwartest. Normalerweise startet man den Debugger und sagt ihm, welche ausführbare Datei man debuggen will. Und meistens braucht man Breakpoints, um das Programm zu unterbrechen. Und und und...
Besorg dir eine IDE, wo alles grafisch geht. Kein Bock hier alles zu erlären, nur weil du keine IDE benutzt. Oder such Tutorials zum GDB, sowas wird es sicherlich im Web geben.
-
@Lagrange
-o heißt nur, dass du ein binary haben willst, mit -c könntest du auch nur kompilieren und nicht linken.Ich würde jedoch mit -g kompilieren. Und Google liefert mit "Howto GDB" brauchbare Ergebnisse
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Jo, stirb doch mit deinem Debugger. Nimm eine IDE, die macht dir es viel einfacher.
-
g++ -g foo.cpp -o foo #oder auch g++ -g -ggdb foo.cpp -o foo gdb foo
weiter hilft dir das Manual des GDBs. Ich würde dir aber auch ein Frontend empfehlen. Kdbg fand ich zB sehr praktisch.
(ansonsten gib einfach mal run ein, das führ dein Programm aus und wenn es abbricht tipp bt ein für den stack backtrace. Mit break kannst du auch einen breakpoint setzen und mit s oder step schrittweise durchgehen...)
-
Lagrange schrieb:
Warum ist nicht mal so wichtig - einfach nur wo
.
Ach waren das noch schoene Zeiten, als ich mit Matlab arbeiten durfte - naja wie dem auch sei. Schon mal vielen Dank fuer eure Hilfe
Thorsten
Ich hörte mal von einem Entwickler der für seine Speicherlecks bekannt war den Spruch "Eigentlich bräuchte man spezielle Leute die den Business-Code dann debuggen" Darauf mein damaliger Chef "Die haben wir unter Vertrag, aber die sind zu teuer für dies Projekt..."
Will sagen dass Debugging eine Kunst ist die zu erlernen sich wirklich lohnt.
Man kann mit "man gdb" oder "info gdb" schon eine Menge erfahren. Sonst hilft auch Google, denn dort findet man mit "gdb reference" http://sourceware.org/gdb/current/onlinedocs/gdb_toc.html
Grüsse
*this