1. Bug
A programozóknak megvan a saját szlengjük, bár sokan szakzsargonnak tartják. Mindenesetre nem kerülheti el a megismerését. Be kell merülnie a részletekbe. Szóval merüljünk bele.
Az egyik első szó, amit megismersz, a „ bogár ”, azaz egy rovar . A szoftverfejlesztéssel összefüggésben ez a szó egy program hibáját jelenti, egy olyan példányt, amikor a program valamit rosszul vagy nem egészen jól csinál. Vagy egyszerűen furcsán működik.
De ha egy programozó úgy gondolja, hogy a program a furcsa viselkedése ellenére pontosan azt csinálja, amit kell, akkor általában kijelenti, hogy "ez nem hiba, hanem szolgáltatás". Ami egy csomó internetes mémet szült.

Általánosságban elmondható, hogy a szoftverhibáknak számos oka lehet: a program logikai hibáitól, az elírásoktól és a helytelen programarchitektúrától kezdve egészen a fordítói problémákig. Mindenesetre a programozóknak ki kell javítaniuk a valós hibákat és a programjaik egyéb "hiányosságait".
A "bug" szó története
A "bug" szó eredetének leggyakoribb változata valami legenda.
1945 szeptemberében a Harvard Egyetem tudósai az egyik első számítógépet, a Mark II-t tesztelték. A számítógép nem működött megfelelően, és az összes kártya ellenőrzése során egy elektromechanikus relé érintkezői közé szorult molylepkét találtak.
A kinyert rovart egy műszaki naplóba ragasztották, amelyhez ez a felirat tartozott: "Első tényleges hiba található."
Úgy gondolják, hogy ez a vicces történet a „ bug ” szó használatának kezdete, amely hibát jelent, a „ debug ” szó pedig a hibák kiküszöbölésének szinonimájává vált.
2. A program hibakeresése
A programhibák kijavításához a programozók speciális programokat, úgynevezett hibakeresőket használnak . Néhány ilyen program még a gépi kód hibakeresését is tudja.
A Java programozók IDE-ket használnak programjaik hibakereséséhez . Ilyen például az IntelliJ IDEA, az Eclipse és a NetBeans. Az IntelliJ IDEA messze a legerősebb IDE, ezért a hibakeresési folyamatot példának vesszük alapul.
Az IntelliJ IDEA két módban tudja futtatni a programot:
Végrehajtási módok | Eszköztár ikonra | Gyorsbillentyűk |
---|---|---|
Normális végrehajtás | ![]() |
Shift +F10 |
Indítsa el hibakeresési módban | ![]() |
Shift +F9 |
A normál végrehajtást már ismeri: a program elindul, lefut és kilép. De a hibakeresési mód sok meglepetést tartogat számodra.
Hibakeresési mód
A hibakeresési mód lehetővé teszi, hogy lépésről lépésre végigjárja a teljes programot. Pontosabban, soronként mozoghat . Sőt, a program minden lépésében (a kód minden sorának végrehajtása után) megfigyelheti a változók értékét. És még az értékeiket is megváltoztathatod!
A program hibakeresésének minimális megértéséhez három dolgot kell megtanulnia:
- Töréspontok
- Lépésről lépésre történő végrehajtás
- Változók értékének vizsgálata
3. Töréspontok
Az IDE lehetővé teszi speciális jelölők, úgynevezett töréspontok elhelyezését a kódban. Minden alkalommal, amikor egy hibakeresési módban futó program elér egy törésponttal jelölt sort , a végrehajtás leáll.
Ha egy adott sorra szeretne töréspontot helyezni , csak kattintson a sor bal oldalán az IDEA alkalmazásban. Példa:

A vonal törésponttal lesz megjelölve, és az IntelliJ IDEA pirossal kiemeli :

Egy második egérkattintás a kódtól balra lévő ablaktáblára eltávolítja a töréspontot .
Egy töréspont az aktuális sorban is elhelyezhető egyszerűen a Ctrl
+ gyorsbillentyűkombináció használatával F8
. Ha ismét megnyomja Ctrl
a + gombot F8
egy olyan soron, amelyen már van töréspont , akkor az törlődik.
4. Indítsa el a programot hibakeresési módban
Shift
Ha van legalább egy töréspont a programban, akkor a + gomb megnyomásával F9
vagy a "hiba ikonra" kattintva hibakeresési módban futtathatja a programot .
Debug módban való indítás után a program a megszokott módon fut. De amint eléri a törésponttal jelölt kódsort , szünetel. Példa:

A képernyőkép felső felében két törésponttal ellátott programkód látható. A program végrehajtása a kék vonallal jelölt 5. sorban leállt. Az 5. sort még nem hajtották végre: még semmi sem került ki a konzolra.
A képernyő alsó felében a hibakereső ablaktáblák láthatók: a Hibakereső panel, a Konzol panel és a hibakeresési mód gombjai.
A program szüneteltetését (vagyis a végrehajtás folytatását) a bal alsó panelen található Program folytatásaF9
gomb megnyomásával (vagy a gomb megnyomásával ) feloldhatja .

Ha megnyomja ezt a gombot (vagy F9
), a program addig fut, amíg meg nem találja a következő töréspontot vagy be nem fejeződik. Íme, amit a gombra kattintás után látunk:

A program a második töréspontnál megállt, és a Hello
és a szavak and
láthatók a konzolon. Ez annak a jele, hogy a képernyőn a kimenetet megjelenítő három sor közül csak kettőt hajtottunk végre.
5. Lépésről lépésre történő végrehajtás
Ha a programod hibakeresési módban fut, akkor át is léphetsz rajta: egy lépés egy sor . Két gyorsbillentyű áll rendelkezésre a lépésről lépésre történő végrehajtáshoz: F7
és F8
: mindegyik az aktuális kódsor végrehajtását okozza. De először is le kell állítania a programot egy törésponttal .
Ha soronként szeretné végrehajtani a programot, akkor a metódus elejére töréspontotmain()
kell tenni , és hibakeresési módban kell futtatnia.
Amikor a program leáll, elkezdhetjük soronként végrehajtani. Egy gombnyomás F8
egy sort hajt végre.
Így néz ki a programunk, miután leáll, és F8
egyszer megnyomjuk a gombot:

A fő metódus első sora már végrehajtásra került, az aktuális sor pedig a második sor. A képernyőkép alján azt is láthatja, hogy a szó Hello
már megjelenik a képernyőn.
6. Lépésről lépésre történő végrehajtás metódusokba lépéssel
Ha saját metódusokat írtunk a programba, és azt szeretnénk, hogy a végrehajtás a metódusainkon belül menjen végbe debug módban, azaz „be akar lépni a metódusba”, akkor inkább a gombot kell F7
megnyomnia F8
.
Tegyük fel, hogy végiglép a programon, és most a 4. sorban áll meg. Ha megnyomja a gombot F8
, az IDEA egyszerűen végrehajtja a negyedik sort, és továbblép az ötödikre.

De ha megnyomja a gombot F7
, az IDEA belép a main2()
metódusba:

Ez nagyon egyszerű. Ha nem igazán érdekli, hogy mi történik egy metóduson belül vagy hogyan, akkor nyomja meg a gombot F8
. Ha fontos, nyomja meg a gombot, F7
és léptesse át az összes kódját.
GO TO FULL VERSION