Ero sivun ”Gdb” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
→Käyttö
p (katso myös) |
p (→Käyttö) |
||
(5 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
Gdb (the GNU Debugger) on [[GNU]]-projektin debuggeri | '''Gdb''' (the GNU Debugger) on [[GNU]]-projektin virheenjäljitysohjelma (''debuggeri''). Sitä käytetään komentoriviltä ja alun opettelun jälkeen se on erittäin tehokas työkalu ohjelmistojen bugien etsimiseen. | ||
== Ohjelman kääntäminen == | == Ohjelman kääntäminen == | ||
Rivi 8: | Rivi 8: | ||
Gdb käynnistetään komennolla | Gdb käynnistetään komennolla | ||
gdb ./ohjelma | gdb ./ohjelma | ||
Jonka jälkeen | Jonka jälkeen gdb:tä käytetään sen omilla komennoilla, joita esitellään seuraavassa. Komentoja ei tarvitse kirjoittaa kokonaan, vaan riittävä määrä alkua riittää jos komento on tällöin yksiselitteinen. | ||
Prosessissa olevan ohjelman jäljitys käynnistyy seuraavalla komennolla | |||
dgb ./ohjelma pid | |||
=== Ohjelman käynnistäminen === | === Ohjelman käynnistäminen === | ||
Ohjelma käynnistetään yksinkertaisesti komennolla <tt>run</tt>. Jos halutaan antaa ohjelmalle parametreja, ne kirjoitetaan komennon perään, esimerkiksi | Ohjelma käynnistetään yksinkertaisesti komennolla <tt>run</tt>. Jos halutaan antaa ohjelmalle parametreja, ne kirjoitetaan komennon perään, esimerkiksi | ||
run parametri1 parametri2 | run parametri1 parametri2 | ||
=== Lokitiedosto === | |||
Käynnistä loki-tiedosto (oletus tiedosto on gdb.txt): | |||
set logging on | |||
=== Keskeytyskohdan asettaminen === | === Keskeytyskohdan asettaminen === | ||
Rivi 40: | Rivi 48: | ||
Backtrace tarkoittaa listaa viimeksi kutsutuista funktioista ja niille välitetyistä parametreista. Tämä on erityisen hyödyllistä selvitettäessä syitä ohjelman kaatumiseen. Tämän tiedon saa näkyviin komennolla | Backtrace tarkoittaa listaa viimeksi kutsutuista funktioista ja niille välitetyistä parametreista. Tämä on erityisen hyödyllistä selvitettäessä syitä ohjelman kaatumiseen. Tämän tiedon saa näkyviin komennolla | ||
bt | bt | ||
tulostaa virheilmoitukset lyhyessä muodossa. | |||
thread apply all bt | |||
tulostaa virheilmoitukset pitkässä muodossa. | |||
thread apply all bt full | |||
=== Lähdekoodin tutkiminen keskeytyskohdan ympäriltä === | === Lähdekoodin tutkiminen keskeytyskohdan ympäriltä === |