Edit detail for LadeniDebugging revision 1 of 1

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


    



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.