Ohjelmointi Unixissa, luku 7 Tutkinta (debuggaus):

Tutkintakomennot

Ohjelman ajaminen ja jäljitys

Tiivistelmä:
run
käynnistää ohjelman
cont
jatkaa ohjelman suoritusta
trace
tulostaa aliohjelmien kutsuketjun
stop
asettaa katkokohdan
status
kertoo katkokohdat ja jäljitystilanteen
delete
poistaa katkokohdan tai jäljityksen
step
suorittaa seuraavan rivin
next
suorittaa seuraavan rivin kokonaisuutena.
Huomautuksia:

Tiedon käsittely

Tiivistelmä:
print
tulostaa lausekkeen (esim. muuttujan) arvon
whatis
tulostaa muuttujan määrittelyn
whereis
kertoo tunnuksen eri merkitykset ohjelmassa
assign
antaa muuttujalle arvon; käsky on muotoa assign muuttuja = lauseke
Myös taulukoita voidaan tulostaa print-käskyllä. Jos halutaan tulostaa koko taulukko, annetaan argumenttina vain sen nimi. Jos halutaan tulostaa osa taulukosta, kirjoitetaan argumentiksi taulukon nimi ja suluissa indeksin alaraja, kaksi pistettä ja yläraja, esimerkiksi

print tbl(5..10)

Samaa periaatetta voi soveltaa moniulotteisiinkin taulukoihin, esim.

print matr(3..5,1..8)

Aliohjelmien käsittely

Tiivistelmä:
where
näyttää aliohjelmien kutsuketjun
dump
tulostaa paikallisten muuttujien nimet ja arvot.
dump-käskyä on syytä käyttää harkiten: se on kätevä silloin, kun paikallisia muuttujia on vähän. Ota huomioon, että taulukot tulostuvat alkioittain. Jos ollaan pääohjelmassa, dump tulostaa sen muuttujat.

Muut komennot

Tiivistelmä:
sh
antaa komentorivin komentotulkille (shell)
alias
asettaa tutkintakomennolle synonyymin
help
tulostaa tutkintakomentojen luettelon ja selitykset
source
lukee tutkintakomentoja tiedostosta
quit
lopettaa tutkinnan.

Ohjelmatiedostojen käsittely

Tiivistelmä:
edit
aloittaa ohjelmatiedoston editoinnin
file
vaihtaa ohjelmatiedostoa
func
vaihtaa aliohjelmaa
list
tulostaa ohjelmarivejä
use
määrittelee, mistä ohjelmatiedostoja tulee hakea
/xxx
etsii tiedostosta merkkijonoa xxx
?xxx
etsii taaksepäin tiedostosta merkkijonoa xxx
Kahdessa viimeksi mainitussa voi xxx:nä olla merkkijonon asemesta yleisemmin ns. säännöllinen lauseke (regular expression, regexp).

list-käsky tulostaa ilman argumenttejakin yleensä joitakin "sopivia", tilanteeseen liittyviä rivejä, mutta rivit voi aina määrätä kirjoittamalla rivinumeron, pilkun ja toisen rivinumeron, esim. list 120,135