Python:
Debuggerin käyttö

Kuinka:

Käydään läpi pdb:n, Pythonin sisäänrakennetun debuggerin, käyttö. Kuvittele tiedosto, buggy.py, jossa on ovela bugi:

def add_one(number):
    result = number ++ 1
    return result

print(add_one(7))

Kun ajat tämän skriptin, odotat saavasi 8, mutta saat vain syntaksivirheen. On debuggerin aika!

Terminaalissasi, suorita:

python -m pdb buggy.py

Pääset debuggeriin, ja se näyttää tältä:

> /polku_tiedostoon/buggy.py(1)<module>()
-> def add_one(number):

Käytä l(ist) nähdäksesi lisää koodia, n(ext) siirtyäksesi seuraavalle riville tai c(ontinue) jatkaaksesi skriptin suorittamista. Kun kohtaat virheen, pdb pysähtyy ja antaa sinulle mahdollisuuden tutkia.

Korjattuasi number ++ 1 muotoon number + 1, käynnistä debuggeri uudelleen korjauksen testaamiseksi. Muista, kaverit eivät anna kavereidensa koodata ilman verkkoa. Siinä kaikki.

Syvä sukellus

Ohjelmoinnin pimeinä aikoina (eli ennen kuin integroidut kehitysympäristöt, eli IDE:t, olivat kaikkialla), debuggerit olivat usein itsenäisiä työkaluja, joita käytettäisiin tekstimuokkaimen ulkopuolella. Ne tulivat apuun antamalla ohjelmoijien tarkastella ohjelmistonsa tilaa eri suorituspisteissä.

Vuonna 2023 Pythonin pdb ei ole ainoa vaihtoehto. Ihmiset saattavat käyttää IDE:iä kuten PyCharm tai Visual Studio Code, joissa on omat tyylikkäät debuggerinsa sisäänrakennettuina. Nämä tarjoavat käteviä ominaisuuksia, kuten klikkauksella asetettavat keskeytyskohdat, eikä kryptisten komentojen kirjoittamista tarvita.

Sitten on ipdb, pip:llä asennettava paketti, joka tuo IPython-herkut debuggaukseen. Se on kuin pdb suorituskykyä parantavilla aineilla, tarjoten välilehden täydennyksen ja syntaksikorostuksen.

Debuggerit vaihtelevat myös toteutuksessaan. Jotkut pääsevät lähelle ohjelman suoritusta kone- tai tavukooditasolla. Toiset, kuten monet korkean tason kielen debuggerit, suorittavat koodin erityisessä ympäristössä, joka tarkkailee muuttujien tilaa ja ohjaa suoritusvirtaa.

Katso myös

Lisätietoja Pythonin omasta debuggerista löydät:

Jos olet utelias vaihtoehdoista, nämä linkit palvelevat sinua hyvin:

Onnea virheenmetsästykseen!