Ratkaistu: / tehtävää

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

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ö

  1. Käynnistä GDB:
Käynnistä gdb ja aseta käännetty ohjelmasi argumentiksi:
   gdb my_program
  1. Aseta breakpointteja:
Voit asettaa breakpointteja haluamillesi riveille pysäyttääksesi koodin suorituksen:
   break [filename:]linenumber
Esimerkkinä, asettaaksesi breakpointin riville 10, kirjoittaisit:
   break 10
  1. Suorita ohjelma:
Käynnistä ohjelmasi gdb:ssä:
   run [program arguments]
  1. Muuttujien tarkastelu:
Kun ohjelmasi pysähtyy breakpointin kohdalla tai kaatuu, voit tarkastella muuttujien arvoja komennolla:
print variable_name
  1. Ohjelman läpi askeltaminen:
- Next: Siirry seuraavalle riville koodissa nykyisen funktion sisällä (ei siirry toisten funktioiden sisälle):
next
- Step: Siirry seuraavalle koodiriville ja mene myös kutsuttavien funktioiden sisään:
step
  1. Kutsupinon tarkastelu:
Kun ohjelmasi on pysäytetty, voit tarkastella kutsupinoa komennolla:
backtrace
  1. 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ä 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.
?