Debugga C kod med emacs och gdb

From Peters wiki
Jump to navigation Jump to search

Denna guide visar hur man kommer igång med att debugga C kod med gdb. gdb startas i emacs för att kunna på ett enklare sätt sätta brytpunkter, titta på variabler, titta på koden m.m. Program som måste vara installerade:

  • gcc
  • gdb
  • emacs

Kodexempel

Följande kod används i denna guide:

Template:Box Kod

Kompilera koden med debuggstöd

Kompilera koden med debuggstöd: Template:Box Kommando

Debugga koden

Börja med att starta igång emacs i samma katalog som koden och ditt kompilerade program: Template:Box Kommando

Starta sedan gdb i emacs genom att trycka på M+x och skriva kommandot gdb. Emacs kommer sedan att fråga: Run gdb (like this): gdb --annotate=3 calcsum. Tryck bara på Enter för att acceptera kommandot. Börja sedan med att sätta en brytpunkt på funktionen main(): Template:Box Kommando Kör sedan programmet fram till denna brytpunkt genom att köra kommandot run eller r: Template:Box Kommando Ett fönster med koden ska nu öppnas i ett emacs fönster:

Öppna ett fönster i emacs som visar alla lokala variabler i nuvarande funktion genom menyn Gud => GDB-Windows => Locals. Exekvera sedan 2 rader med hjälp av next kommadot: Template:Box Kommando Man kan nu se i locals fönstret att i och sum har blivit uppdaterade till 100 resp. 4950: