1 | ||
Editor: pycz
Time: 2006/06/13 20:33:15 GMT+0 |
||
Note: pdb |
changed: - Ladící program pdb ================== Chtěli byste mít možnost krokovat řádku po řádce vašeho programu a přímo vidět, co se v na kterém řádku děje? Máte někde v programu chybu a program rychle proběhne a skončí? Chcete mít možnost kdekoliv, včetně vnitřku funkcí nebo metod, program zastavit a zkontrolovat si proměnné? Tak k tomu slouží právě tzv. ladící programy, debuggery. Jeden z nich je zabudovaný přímo v distribuci a jmenuje se pdb. Podporuje: ---------- - zarážky - v programu si nastavíte místo, kde chcete, aby program pozastavil činnost a přešel do režimu ladění - zarážky s podmínkou - program se pozastaví na určitém místě, jen když je splněna nějaká podmínka - krokování řádku po řádce - průzkům zásobníku - výpis zdrojového kodu - výpis proměnných v místě, kde právě stojíte - posmrtné ladění - program zhavaruje, vy se jednoduše vrátíte na místo, kde havaroval, a můžete výpisy proměnných v okamžiku před havárií, průzkum zásobníku apod. Help ---------------- O tom, že jste v debuggeru vás přesvědčí prompt, který se změní na (Pdb). Potom funguje příkazy jako n (next - krok dopředu), l (list - výpis kodu), b (breakpoint - nastavení zarážky) ... Výpis vše získáte pomocí help, v nápovědě k pdb http://docs.python.org/lib/module-pdb.html Příklady ---------- Zastavení programu na určitém místě ................................... Umístněte následující dva řádky na místo, kde chcete, aby se provádění programu zastavilo a předalo řízení debuggeru, tedy vám:: import pdb pdb.set_trace() Spuštění celého scriptu pod pdb ................................. :: python -m pdb můj script.py Posmrtné ladění ................ Program skončí s chybou a vám stačí na zbylém pythonovském promptu napsat >>> import pdb >>> pdb.pm() a již si můžete zkoušet. Záložky, Oblíbené ------------------ - http://docs.python.org/lib/module-pdb.html
Chtěli byste mít možnost krokovat řádku po řádce vašeho programu a přímo vidět, co se v na kterém řádku děje? Máte někde v programu chybu a program rychle proběhne a skončí? Chcete mít možnost kdekoliv, včetně vnitřku funkcí nebo metod, program zastavit a zkontrolovat si proměnné? Tak k tomu slouží právě tzv. ladící programy, debuggery. Jeden z nich je zabudovaný přímo v distribuci a jmenuje se pdb.
O tom, že jste v debuggeru vás přesvědčí prompt, který se změní na (Pdb). Potom funguje příkazy jako n (next - krok dopředu), l (list - výpis kodu), b (breakpoint - nastavení zarážky) ... Výpis vše získáte pomocí help, v nápovědě k pdb http://docs.python.org/lib/module-pdb.html
Umístněte následující dva řádky na místo, kde chcete, aby se provádění programu zastavilo a předalo řízení debuggeru, tedy vám:
import pdb pdb.set_trace()
python -m pdb můj script.py
Program skončí s chybou a vám stačí na zbylém pythonovském promptu napsat
>>> import pdb >>> pdb.pm()
a již si můžete zkoušet.