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 rader rader genom att köra kommandot next eller n. Antingen kan man köra kommadot next två gånger eller så anger man hur många rader man vill köra efter kommandot: Template:Box Kommando Man kan nu se i locals fönstret att i och sum har blivit uppdaterade till 100 resp. 4950: