Hallo!
Wie kann man Programme debuggen ohne dass man Breakpoints verwendet? Gdb habe ich erfolgreich zum Laufen gebracht nur macht er nicht ganz das was ich will. Ich möchte mir gerne Globale Variablen anzeigen lassen wie sie zurzeit stehen, ohne dass das Programm angehalten werden muß? Gibt es dfür Möglichkeiten?
lg
steve
Debuggen ohne Breakpoint (variable-watch)
Debuggen ohne Breakpoint (variable-watch)
Ich? Nein, ich bin keine Signatur, ich mach hier nur sauber...
Re: Debuggen ohne Breakpoint (variable-watch)
Eine Moeglichkeit waere die globale Variable immer in ne Datei schreiben (oder std out), falls du Zugriff auf die Sourcen hast.
Muesste dann aber vermutlich an jede Stelle, wo sich die Variable aendern kann.
Muesste dann aber vermutlich an jede Stelle, wo sich die Variable aendern kann.
Re: Debuggen ohne Breakpoint (variable-watch)
Du meinst, denke ich, einen "Watchpoint", siehe z.B. http://www.unknownroad.com/rtfm/gdbtut/gdbwatch.html
MfG GoKi
:wq
:wq
Re: Debuggen ohne Breakpoint (variable-watch)
Ich benötige etwas das ohne anhalten des Prozessors funktioniert, also scheiden auch Watchpoints aus. Ich werde es wohl softwaremässig lösen müssen.
lg,
steve
lg,
steve
Ich? Nein, ich bin keine Signatur, ich mach hier nur sauber...
Re: Debuggen ohne Breakpoint (variable-watch)
Du kannst mittels gdb nach auslösen des Watchpoints gleich wieder fort fahren.
Code: Alles auswählen
(gdb) watch i
Watchpoint 1: i
(gdb) commands
Type commands for when breakpoint 1 is hit, one per line.
End with a line saying just "end".
>cont
>end
(gdb) run
Starting program: /tmp/bla
Hardware watchpoint 1: i
Old value = 0
New value = 1
main () at bla.c:9
MfG GoKi
:wq
:wq