IDE:n debuggaustoiminnon käyttäminen¶
CodeBlocks¶
Kun debuggaat ohjelmaa CodeBlocksissa ja se kaatuu, voit katsoa "Debug" → "Debugging windows" → "Call stack" ja tätä kautta löytää rivin, jolla ohjelmasi kaatuu.
Käytä breakpointteja.
GDB online Debugger¶
Kun debuggaat ja ohjelmasi kaatuu, sinulle näytetään tietoa siitä, millä rivillä ohjelmasi kaatui ja miksi.
Käytä breakpointteja.
gdb:n käyttäminen komentoriviltä¶
Jos käytät Windowsia, sinulla on useampi vaihtoehto asentaa
gcc
ja gdb
- Asentamalla MinGW
- Asentamalla git ja suorittamalla Git bash
- Käyttämällä Ubuntu WSL:ää
Koodin kääntäminen GDB:lle¶
Käyttääksesi
gdb
:tä ohjelman debuggaamiseen, sinun täytyy kääntää koodisi debuggaustietojen kanssa. Tämä onnistuu käyttämällä valitsinta -g
, kun käännät koodiasi gcc
:llä:gcc -g -o my_program my_program.c
GDB:n peruskäyttö¶
- Käynnistä GDB:
Käynnistä
gdb
ja aseta käännetty ohjelmasi argumentiksi: gdb my_program
- Aseta breakpointteja:
Voit asettaa breakpointteja haluamillesi riveille pysäyttääksesi koodin suorituksen:
break [filename:]linenumber
Esimerkkinä, asettaaksesi breakpointin riville 10, kirjoittaisit:
break 10
- Suorita ohjelma:
Käynnistä ohjelmasi
gdb
:ssä: run [program arguments]
- Muuttujien tarkastelu:
Kun ohjelmasi pysähtyy breakpointin kohdalla tai kaatuu, voit tarkastella muuttujien arvoja komennolla:
print variable_name
- Ohjelman läpi askeltaminen:
- Next: Siirry seuraavalle riville koodissa nykyisen funktion sisällä (ei siirry toisten funktioiden sisälle):
- Step: Siirry seuraavalle koodiriville ja mene myös kutsuttavien funktioiden sisään:
next
- Step: Siirry seuraavalle koodiriville ja mene myös kutsuttavien funktioiden sisään:
step
- Kutsupinon tarkastelu:
Kun ohjelmasi on pysäytetty, voit tarkastella kutsupinoa komennolla:
backtrace
- GDB:stä poistuminen:
Voit poistua
gdb
:stä milloin tahansa komennolla:quit
Lisää komentoja:¶
- Continue: Jatka ohjelman suoritusta seuraavaan breakpointtiin asti:
continue
- Clear: Poista breakpointteja:
clear linenumber
- List: Näytä lähdekoodi nykyisen rivin ympärillä:
list
- Info Breakpoints: Näytä kaikki asetetut breakpointit:
info breakpoints
- Help: Näytä apuja
gdb
-komentojen käyttöön: help [command_name]
Esimerkkisessio:¶
$ gdb my_program
(gdb) break 10
(gdb) run arg1 arg2
(gdb) print my_variable
(gdb) next
(gdb) quit
Vinkkejä:¶
- Käytä
- Katso manuaalia (
gdb
:n help-komentoa löytääksesi enemmän toimintoja ja ominaisuuksia.- Katso manuaalia (
man gdb
) tai virallista GDB:n dokumentaatiota löytääksesi yksityiskohtaisempaa tietoa.