Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
software:gdb:start [2016-02-17 13:30] abajricsoftware:gdb:start [2019-03-11 11:51] graf
Zeile 6: Zeile 6:
   * [[https://sourceware.org/gdb/download/onlinedocs/stabs/ | STABS]]   * [[https://sourceware.org/gdb/download/onlinedocs/stabs/ | STABS]]
 </box> </box>
 +===== Hauptfunktionen des GDB =====
 Der GNU Debugger erlaubt es, zu sehen, was in einem Programm während der Ausführung passiert oder was ein Programm zuletzt gemacht vor einem Absturz. Der GNU Debugger erlaubt es, zu sehen, was in einem Programm während der Ausführung passiert oder was ein Programm zuletzt gemacht vor einem Absturz.
  
Zeile 14: Zeile 14:
   * Untersuchen was geschehen ist, wenn das Programm angehalten wurde   * Untersuchen was geschehen ist, wenn das Programm angehalten wurde
   * Inhalt des Speichers ändern   * Inhalt des Speichers ändern
 +
  
 ===== Handhabung ===== ===== Handhabung =====
-GDB ist in vielen [[http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung|IDE]]s (wie z.B. Eclipse) integriert und wird über das GUI bedient. Alternativ kann GDB auch über die Kommandozeile gestartet werden: +GDB ist in vielen [[http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung|IDE]]s (wie z.B. Eclipse) integriert und wird über das GUI bedient. Alternativ kann GDB auch über die Kommandozeile gestartet werden. 
- +Das ist besonders nütztlich, um einen Segfault zu überprüfen.
-''gdb executable_name'' +
- +
-Programm starten: +
- +
-''run arg1 arg2 arg3'' +
- +
-Programm beenden: +
- +
-''kill''+
  
-GDB beenden:+Mehr dazu unter im [[software:gdb:crashcoursegdb|Crashcourse gdb]]
  
-''quit'' 
  
-Alle GDB Befehle können mit der GDB-Hilfefunktion aufgelistet werden:+===== Coredumps ===== 
 +Mit Coredumps können Segfaults analysiert werden, ohne dass die Applikation im //gdb// gestartet wird. 
 +Ein //Backtrace// kann im Nachhinen untersucht werden. 
 +Es ist ebenfalls möglich, lokale Variablen nach dem Absturz zu untersuchen.
  
-''help''+Mehr dazu unter unter [[software:gdb:coredump|software:gdb:coredump]].
  
  
Zeile 308: Zeile 302:
 === Definition vom Java-Sourcecode === === Definition vom Java-Sourcecode ===
  
-Der erste STABS mit N_SO ist der Build-Ordner. Der Zweite ist der relative Pfad zum Source-File. ([[https://www.sourceware.org/gdb/onlinedocs/stabs.html#Source-Files|Source Files]])+([[https://www.sourceware.org/gdb/onlinedocs/stabs.html#Source-Files|Source Files]]) 
 +Der erste STABS mit N_SO ist der Build-Ordner. Der Zweite ist der relative Pfad zum Source-File.
  
 <code> <code>
Zeile 346: Zeile 341:
 <code> <code>
 .stabs "x:r2;-2147483648;2147483647;",N_RSYM,0,4,2 .stabs "x:r2;-2147483648;2147483647;",N_RSYM,0,4,2
 +</code>
 +
 +
 +=== Definition von Funktionen ===
 +
 +([[https://www.sourceware.org/gdb/onlinedocs/stabs.html#Procedures|Procedures]]) N_LBRAC und N_RBRAC ist die Position der öffnenden/schliessenden geschweiften Klammern der Funktion.
 +
 +<code>
 +.stabs "ch::ntb::inf::deep::runtime::mpc555::Reset::reset:F1",N_FUN,0,0,reset
 +.stabn N_SLINE, 0, 37, reset
 +.stabn N_LBRAC, 0, 0, LM1
 +.stabn N_RBRAC, 0, 0, LM3
 </code> </code>