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:crashcoursegdb [2019-03-05 09:35] mgehrig2software:gdb:crashcoursegdb [2019-03-12 09:30] mgehrig2
Zeile 6: Zeile 6:
  
  
-===== Vorbereitung =====+===== Vorbereitung -- Build des Projekts =====
 Damit eine Applikation mit dem //gdb// debugged werden kann, muss es mit **Debug Symbolen** kompiliert werden. Damit eine Applikation mit dem //gdb// debugged werden kann, muss es mit **Debug Symbolen** kompiliert werden.
 Dazu kann für nicht Realtime Applikationen der "Build type" auf '//Debug//' gesetzt werden: Dazu kann für nicht Realtime Applikationen der "Build type" auf '//Debug//' gesetzt werden:
  
-CMAKE:\\ 
 ''CMAKE_BUILD_TYPE    Debug'' ''CMAKE_BUILD_TYPE    Debug''
  
-Dadurch werden Debugsymbole hinzugefügt und die Applikation wird nicht optimiert.+Dadurch werden Debugsymbole hinzugefügt und die Applikation wird **nicht** optimiert.
 Nicht optimierte Applikationen vereinfachen das Debugging, da das nicht optimierte Binary grössten teils dem Sourcecode entspricht. Nicht optimierte Applikationen vereinfachen das Debugging, da das nicht optimierte Binary grössten teils dem Sourcecode entspricht.
 Mit Optimierung können einzelne Variablen wegoptimiert werden. Mit Optimierung können einzelne Variablen wegoptimiert werden.
  
-Realtime Applikationen dürfen aber normalerweise nicht optimiert werden, da die TODO +**Realtime Applikationen** müssen aber normalerweise optimiert werden, da die Realtime Performance von der Optimierung abhängig ist. 
 +Um die Applikation mit Debug Informationen **und** Optimierung zu bauen kann folgender Build Type verwendet werden: 
 + 
 +''CMAKE_BUILD_TYPE    RelWithDebInfo''
  
  
-gcc / g++\\ 
-''gcc -g hello.c''\\ 
-''g++ -g hello.c''