Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
- Python-alkalmazásprojekt, amely rendelkezik egy Python-fájllal (.py) a 2. lépésben létrehozott kóddal: Python-kód írása és futtatása és 3. lépés: Az oktatóanyag interaktív REPL-ablakának használata.
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:
Nyissa meg a Python-projektfájlt (.py) a szerkesztőben.
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_stringfüggvényt, hogy megvizsgálhassa a hibakereső különálló lépéseit. A ciklust egyforfüggvénybe helyezimainát, majd explicit módon futtatja amainfü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ő.
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 .
Állítson be töréspontot a
forhurok 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.
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:
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:
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:
Lépjen át a
forciklusutasí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
iváltozó már definiálva van a Helyiek és Automatikus ablakokban.Step Over a következő kódsort, amely meghívja a
make_dot_stringfüggvényt.Ebben az esetben a Lépés arra készteti a Hibakeresőt, hogy lefuttassa a teljes
make_dot_stringfü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ó.Folytassa a kódot még néhány alkalommal, és figyelje meg, hogyan változnak a Helyiek vagy Automatikus ablak értékei.
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
svá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.Folytassa a kódot a Lépés használatával, amíg a
make_dot_stringfü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_stringfüggvénybe.Lépjen tovább lépéssel, amíg vissza nem tér a
make_dot_stringfüggvénytől.Amikor eléri a
make_dot_stringfüggvénykód végét, a következő lépés a hibakeresőt adja vissza a ciklusnak aforváltozó új visszatérési értékévels.Amikor ismét a
printutasításra lép, figyelje meg, hogy a utasítással végrehajtottprintművelet nem lép be az adott függvénybe. Ennek a viselkedésnek az az oka, hogy aprintfüggvény nincs Pythonban megírva. Natív kód a Python-futtatókörnyezetben.Folytassa a Lép be használatát, amíg újra be nem lép a
make_dot_stringfüggvénybe, majd használja a Kilépés lehetőséget, és figyelje meg, hogy a hibakereső visszatér aforciklushoz.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.
Folytassa a program futtatását, amíg el nem éri a következő töréspontot Continue (F5) használatával. Mivel a
forciklusban 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
svá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:
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.
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:
Állítsa be a feltételtípust a feltételes kifejezésértékére.
Adja meg a feltétel kiértékelését, hogy igaz.
Adja meg
i > 1600feltételértékként.Válassza ki Zárja be.
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
iváltozó értékét jeleníti meg1608.A program befejezéséhez letilthatja a töréspontot, és folytathatja a program végrehajtását.
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.
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.