Debugga C kod med emacs och gdb: Difference between revisions
Line 36: | Line 36: | ||
{{Box Kommando|(gdb) break main|Breakpoint 1 at 0x400480: file main.c, line 8.}} | {{Box Kommando|(gdb) break main|Breakpoint 1 at 0x400480: file main.c, line 8.}} | ||
Kör sedan programmet fram till denna brytpunkt genom att köra kommandot run eller r: | Kör sedan programmet fram till denna brytpunkt genom att köra kommandot run eller r: | ||
{{Box Kommando|(gdb) r|Starting program: /home/peter/tmp/hello/calcsum | {{Box Kommando|(gdb) r| | ||
Starting program: /home/peter/tmp/hello/calcsum | |||
Breakpoint 1, main () at main.c:8}} | Breakpoint 1, main () at main.c:8}} | ||
Ett fönster med koden ska nu öppnas i ett emacs fönster: | Ett fönster med koden ska nu öppnas i ett emacs fönster: | ||
[[Image:gdb_in_emacs_1.png|center]] | [[Image:gdb_in_emacs_1.png|center]] | ||
Ö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: | |||
{{Box Kommando|(gdb) n 2|}} | |||
Man kan nu se i locals fönstret att i och sum har blivit uppdaterade till 100 resp. 4950: | |||
[[Image:gdb_in_emacs_2.png|center]] | |||
[[Category:Gentoo Linux]] | [[Category:Gentoo Linux]] |
Revision as of 01:27, 13 April 2008
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:
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:
