Megosztás a következőn keresztül:


Oktatóanyag: Kód futtatása a Visual Studio Hibakeresőben

Ez a cikk a Python használata a Visual Studiocímű oktatóanyag-sorozat 4. lépését mutatja be.

A Visual Studio lehetővé teszi a projektek kezelését, a gazdag szerkesztési élményt, az Interaktív ablakés a Python-kód teljes funkcionalitású hibakeresését. Az oktatóanyag-sorozat 4. lépésében a Hibakereső használatával lépésről lépésre futtathatja a kódot, beleértve a hurok minden iterációját. A Hibakeresőszüneteltetheti a programot, ha bizonyos feltételek teljesülnek. A program szüneteltetésekor bármikor megvizsgálhatja a program teljes állapotát, és módosíthatja a változók értékét. Az ilyen műveletek elengedhetetlenek a programhibák nyomon követéséhez, és hasznos segédleteket nyújtanak a pontos programfolyamat követéséhez.

Az oktatóanyag 4. lépésében megtanulhatja, hogyan:

  • Python-kód futtatása a Hibakereső a Visual Studióban
  • Töréspontok és feltételek beállítása
  • Programállapot vizsgálata és változók módosítása
  • Hibakereső ablakok és műveletek felfedezése

Előfeltételek

A Python-fájl előkészítése

A hibakeresési gyakorlat előkészítéséhez kövesse az alábbi lépéseket a Python-projektfájl frissítéséhez, hogy robusztusabb kódot tartalmazzon:

  1. Nyissa meg a Python-projektfájlt (.py) a szerkesztőben.

  2. Cserélje le a fájlban lévő kódot a következő kódra. A kód ezen verziója kibővíti a make_dot_string függvényt, hogy megvizsgálhassa a hibakereső különálló lépéseit. A ciklust egy for függvénybe helyezi main át, majd explicit módon futtatja a main függvény meghívásával:

    from math import cos, radians
    
    # Create a string with spaces proportional to a cosine of x in degrees
    def make_dot_string(x):
        rad = radians(x)                             # cos works with radians
        numspaces = int(20 * cos(rad) + 20)          # Scale to 0-40 spaces
        st = ' ' * numspaces + 'o'                   # Place 'o' after the spaces
        return st
    
    def main():
        for i in range(0, 1800, 12):
            s = make_dot_string(i)
            print(s)
    
    main()
    

Hibakeresés indítása

Most már készen áll a frissített Python-kód ellenőrzésére a Hibakereső.

  1. A kód megfelelő működésének ellenőrzéséhez válassza Hibakeresési>Indítsa el a hibakeresési az eszköztáron, vagy használja az F5 billentyűparancsot. Ezek a parancsok hajtják végre a kódot a Hibakereső-ben.

    A hibakereső nem észlel problémákat, ezért a program sikeresen fut. Megnyílik egy kimeneti ablak, és megjelenik a koszinuszhullám-minta néhány iterációja. A kimeneti ablak bezárásához válassza ki a kívánt kulcsot.

    Borravaló

    A Visual Studio korábbi verzióiban a program befejeződésekor automatikusan bezárhatja a kimeneti ablakot. Válassza az Eszközök>beállításai lehetőséget, bontsa ki a Python>hibakeresési csomópontot, és törölje a várakozás a bemenetre, amikor a folyamat a szokásos módon kilép .

  2. Állítson be töréspontot a for hurok utasítására az alábbi módok egyikével:

    • Válassza ki a kódsor bal margóján.
    • Kattintson a jobb gombbal a kódsorra, és válassza Töréspont>Töréspont beszúrásalehetőséget.
    • Helyezze a beszúrási elemet a kód sorába, és válassza Hibakeresés>Töréspont váltása lehetőséget (vagy használja az F9 billentyűparancsot).

    A töréspontok egy megjelölt ponton leállítja a kód végrehajtását, hogy megvizsgálhassa a program állapotát. Minden olyan vonalon piros pont jelenik meg, amely beállított törésponttal rendelkezik.

    Képernyőkép arról, hogyan állíthat be töréspontot a Hibakeresőben a Visual Studióban.

  3. Indítsa újra a Hibakereső (F5). A program futó kódja a beállított törésponttal egy sorban áll meg. Most már megvizsgálhatja a hívási vermet, és megvizsgálhatja a futó programkód ezen állapotának változóit.

    A Visual Studio számos módszert kínál a programkód és a végrehajtási adatok megfigyelésére, beleértve a következő ablakokat:

    • A Hívásverem a programkód függvény- és metódushívásainak előzményeit jeleníti meg.
    • A hatókörön belüli definiált változók az Automatikus ablakban jelennek meg.
    • A Helyiek nézet az összes változót megjeleníti, amelyet a Visual Studio az aktuális hatókörben talál (a függvényeket is beleértve), még a kódban való definiálásuk előtt.

    Az elérhető ablakok és műveletek teljes listájának megtekintéséhez válassza Hibakeresés>Windowslehetőséget.

    A Hibakereső ablakait megnyitva megtekintheti a program állapotát töréspont észlelésekor:

    Képernyőkép a Hibakereső ablakról, amely megjeleníti a program állapotát, amikor a Visual Studio leáll egy megadott töréspontnál.

Hibakereső műveletek használata

Ha a Visual Studio megszakítja a kódvégrehajtást egy törésponton, több parancsot is használhat a kód végigfuttatására vagy kódblokkok futtatására a törés előtt. A parancsok a Visual Studióban néhány helyen elérhetők, beleértve a Hibakereső eszköztárat, a Hibakeresés menüt, a jobb gombbal a helyi menüt a kódszerkesztőben, valamint billentyűparancsokat.

A Visual Studio ablakának tetején található Hibakereső eszköztár gyors hozzáférést biztosít a leggyakoribb hibakeresési parancsokhoz:

Képernyőkép a Visual Studio Hibakereső eszköztáráról.

Az alábbi táblázat az eszköztár balról jobbra megjelenő parancsait foglalja össze:

Akció Parancsikon Leírás
Folytatás F5 Futtasd a kódot, amíg el nem éred a következő töréspontot, vagy a program be nem fejeződik.
Az összes megszakítása Ctrl+Alt+Törik Szüneteltessen egy hosszan futó programot.
Hibakeresés leállítása Műszak+F5 Állítsa le a programot a jelenlegi ponton, és lépjen ki a Hibakeresőből.
Újraindítás Ctrl+Műszak+F5 Állítsa le a programot az aktuális ponton, majd indítsa újra a végrehajtását az elejétől a Hibakereső-ben.
Következő utasítás megjelenítése Alt+Szám+\ Térjen vissza a kódban futtatandó következő utasításhoz. Ez a parancs segít megtalálni azt a helyet a kódban, ahol a Hibakereső le van állítva.
Lépj be a F11 Futtassa a következő utasítást, és álljon meg. Ha a következő utasítás egy függvény hívása, a Hibakereső lép a függvénybe, és az első sorban áll meg.
Átlépés F10 Futtassa a következő utasítást, beleértve egy függvény hívását (az összes kód futtatását) és az esetleges visszatérési érték alkalmazását. Ezzel a paranccsal egyszerűen kihagyhatja azokat a függvényeket, amelyeket nem kell hibakeresésre használnia.
kijelentkezés Műszak+F11 Futtassa a kódot az aktuális függvény végéig, majd lépjen a hívó utasításhoz, és álljon meg. Ez a parancs akkor hasznos, ha nem kell az aktuális függvény fennmaradó részét hibakeresésre használnia.

Az alábbi lépéseket követve Hibakereső műveleteket végezhet a Python-kódban:

  1. Lépjen át a for ciklusutasításon a Lépés át művelet használatával.

    Léptető hatására a Hibakereső futtatja az aktuális kódsort, beleértve a hívott függvényeket is, és azonnal szünetelteti a műveletet. A lépés után figyelje meg, hogy a i változó már definiálva van a Helyiek és Automatikus ablakokban.

  2. Step Over a következő kódsort, amely meghívja a make_dot_string függvényt.

    Ebben az esetben a Lépés arra készteti a Hibakeresőt, hogy lefuttassa a teljes make_dot_string függvényt, és szüneteltesse a működését a függvény visszatérése után. A hibakereső csak akkor áll le a függvényen belül, ha ott külön töréspont található.

  3. Folytassa a kódot még néhány alkalommal, és figyelje meg, hogyan változnak a Helyiek vagy Automatikus ablak értékei.

  4. A Helyi vagy a Automatikusok ablakában kattintson duplán a Érték oszlopára egy változónál az érték szerkesztéséhez. Ebben a példában módosítsa a s változó értékét 'Hello, Python Application'értékre. Ügyeljen arra, hogy az értéket egyetlen idézőjelbe foglalja. A módosítások alkalmazásához válassza Enter vagy az értéken kívüli bármely területet.

    Képernyőkép, amely bemutatja, hogyan módosíthatja egy változó értékét a Helyiek ablakban a Visual Studióban végzett hibakeresés során.

  5. Folytassa a kódot a Lépés használatával, amíg a make_dot_string függvény hívása meg nem történik.

    Egy függvény esetében a Lépés a arra készteti a Hibakeresőt, hogy mind a függvényt meghívja, mind belépjen a függvénykódba. Ha a hibakeresési folyamat egy függvényen belül van, megvizsgálhatja a helyi változókat, és konkrétan végiglépkedhet a kódon. Ebben a példában a lépés a műveletbe integrálódik a make_dot_string függvénybe.

  6. Lépjen tovább lépéssel, amíg vissza nem tér a make_dot_string függvénytől.

    Amikor eléri a make_dot_string függvénykód végét, a következő lépés a hibakeresőt adja vissza a ciklusnak a for változó új visszatérési értékével s .

    Amikor ismét a print utasításra lép, figyelje meg, hogy a utasítással végrehajtott print művelet nem lép be az adott függvénybe. Ennek a viselkedésnek az az oka, hogy a print függvény nincs Pythonban megírva. Natív kód a Python-futtatókörnyezetben.

  7. Folytassa a Lép be használatát, amíg újra be nem lép a make_dot_string függvénybe, majd használja a Kilépés lehetőséget, és figyelje meg, hogy a hibakereső visszatér a for ciklushoz.

    A Kiléptetésiesetén a hibakereső futtatja a függvény fennmaradó részét, majd automatikusan szünetelteti a hívókódot. Ez a művelet akkor hasznos, ha végiglép egy hosszú függvény egy részén, és be szeretné fejezni a függvény megfigyelését. Lépéskilépés végiglépked a fennmaradó kódon, vagy amíg el nem éri a hívó kódban megadott explicit töréspontot.

  8. Folytassa a program futtatását, amíg el nem éri a következő töréspontot Continue (F5) használatával. Mivel a for ciklusban van egy töréspont, az automatikusan megszakad a következő iterációnál.

    A program végrehajtásának folytatódását a s változó értékének módosításával a Helyiek ablakban ellenőrizheti.

Töréspont-feltételek használata

A ciklusok több száz iterációjának végiglépése fárasztó lehet, így a Visual Studio lehetővé teszi egy feltétel hozzáadását törésponthoz. Töréspont-feltétel beállításakor a hibakereső csak akkor szünetelteti a programot a törésponton, ha a feltétel teljesül.

Az alábbi lépések bemutatják, hogyan definiálhat töréspont-feltételt a for ciklusutasításban, így a hibakereső csak akkor szünetel, ha az i változó értéke meghaladja az 1600-t:

  1. A töréspont feltételének beállításához kattintson a jobb gombbal a piros töréspont pontra, és válassza a Feltételek lehetőséget, vagy használja az Alt +F9>Cbillentyűparancsot.

  2. A Töréspont beállításai előugró párbeszédpanelen konfigurálja a következő beállításokat a feltétellétrehozásához:

    1. Állítsa be a feltételtípust a feltételes kifejezésértékére.

    2. Adja meg a feltétel kiértékelését, hogy igaz.

    3. Adja meg i > 1600 feltételértékként.

    4. Válassza ki Zárja be.

    Képernyőkép arról, hogyan állíthat be feltételes töréspontot a Hibakeresőben a Visual Studióban.

  3. Válassza F5 a hibakeresés és a program végrehajtásának folytatásához. Figyelje meg, hogy a program számos iterációt futtat, mielőtt eléri a feltételes töréspontot.

    Meggyőződhet arról, hogy a hibakereső megfelelően szünetelteti a program végrehajtását, amikor eléri a feltételes töréspontot. A feltétel teljesülése esetén a Helyiek ablak a i változó értékét jeleníti meg 1608.

  4. A program befejezéséhez letilthatja a töréspontot, és folytathatja a program végrehajtását.

    1. Mutasson a piros pontra, és válassza a Tiltsa lelehetőséget, vagy kattintson a jobb gombbal a piros pontra, és válassza a Töréspont letiltásalehetőséget.

    2. Válassza a Folytatás (vagy nyomja le F5) lehetőséget a program futtatásához.

    Amikor a program véget ér, a Visual Studio leállítja a hibakeresési munkamenetet, és visszatér a szerkesztési módba.

    Töréspontot is törölhet. Jelölje ki a piros pontot, vagy kattintson a jobb gombbal a pontra, és válassza a Töréspont törléselehetőséget. Ez a művelet a megadott feltételeket is törli.

Borravaló

Bizonyos helyzetekben, például a Python-értelmező elindításának sikertelensége esetén előfordulhat, hogy a Python kimeneti ablaka közvetlenül a program szüneteltetése és megjelenítése nélkül bezáródik, és megjelenik a A kérés folytatásához nyomja le a billentyűt. A szüneteltetés és a kérés kényszerítéséhez adja hozzá a -i argumentumot a >Értelmező argumentumok futtatása mezőhöz a Hibakeresés lapon. Ez az argumentum interaktív módba helyezi a Python-értelmezőt a kód futtatása után. A program megvárja, amíg kiválasztja Ctrl+Z+Enter billentyűkombinációt az ablak bezárásához.

Következő lépés