mirror of
https://github.com/gryf/debugging_python.git
synced 2025-12-17 11:30:30 +01:00
Add some more presentation notes
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
[file]
|
[file]
|
||||||
debugging_python.pdf
|
debugging_python.pdf
|
||||||
[end_user_slide]
|
[end_user_slide]
|
||||||
7
|
4
|
||||||
[notes]
|
[notes]
|
||||||
### 1
|
### 1
|
||||||
### 3
|
### 3
|
||||||
@@ -10,6 +10,7 @@ debugging_python.pdf
|
|||||||
· Poruszę kwestię dostępnego oprogramowania do odpluskwiania
|
· Poruszę kwestię dostępnego oprogramowania do odpluskwiania
|
||||||
|
|
||||||
· I w ostatniej części zaprezentuję przykładową sesję z debuggerem pdb
|
· I w ostatniej części zaprezentuję przykładową sesję z debuggerem pdb
|
||||||
|
### 4
|
||||||
### 5
|
### 5
|
||||||
· W przypadku gdy program zakończy się niepowodzeniem, jest spora szansa że wystąpi wyjątek
|
· W przypadku gdy program zakończy się niepowodzeniem, jest spora szansa że wystąpi wyjątek
|
||||||
- TypeError, IndexError, czy AttributeError
|
- TypeError, IndexError, czy AttributeError
|
||||||
@@ -22,8 +23,36 @@ debugging_python.pdf
|
|||||||
· moduł trace pozwala na sprawdzenie w jaki sposób przebiegło wykonanie naszego programu co pomoże w ustaleniu w którym miejscu coś poszło nie tak
|
· moduł trace pozwala na sprawdzenie w jaki sposób przebiegło wykonanie naszego programu co pomoże w ustaleniu w którym miejscu coś poszło nie tak
|
||||||
· no i debugger - czyli program pozwalający na krokowe wykonanie programu, podglądu wartości zmiennych w danej chwili, zatrzymywaniem się we wskazywanych przez użytkownika miejscach, introspekcji (czasami)
|
· no i debugger - czyli program pozwalający na krokowe wykonanie programu, podglądu wartości zmiennych w danej chwili, zatrzymywaniem się we wskazywanych przez użytkownika miejscach, introspekcji (czasami)
|
||||||
### 7
|
### 7
|
||||||
|
Debuggery można podzielić na kilka sposobów.
|
||||||
|
|
||||||
|
Pierwszą grupą są odpluskwiacze działające w konsoli
|
||||||
|
|
||||||
|
Drugą debuggery graficzne
|
||||||
|
|
||||||
|
Oraz trzecią - debuggery zintegrowane w środowiska programistyczne
|
||||||
|
|
||||||
|
Warto zaznaczyć, że we wszystkich grupach istnieją debuggery pozwalające na debugowanie zdalne.
|
||||||
### 8
|
### 8
|
||||||
|
tekstowe debuggery stanowią dość liczną grupę - poczynając od pdb, który znajduje się w bibliotece standardowej pythona, poprzez całą masę innych nakładek na pdb, dodających rzeczy, w których pdb brakuje - kolorowanie kodu, tab completion podczas introspekcji obiektów, ładnego wyświetlania struktur, szczegółowe informacje o obiekcie, kontekstowy podgląd wykonywanego programu itd. Pudb jest przykładem programu TUI (text user interface) czyli pełnoekranową aplikacją uruchamianą w terminalu.
|
||||||
### 9
|
### 9
|
||||||
|
Graficznych, niezależnych debuggerów nie ma zbyt wiele (przynajmniej nic mi nie wiadomo o innych :)
|
||||||
|
|
||||||
|
Winpdb jest debuggerem wielo-platformowym napisanym z użyciem wxPythona. Niestety nie pozwala na introspekcję
|
||||||
|
|
||||||
|
Z kolei debugger z pakietu pywin jest dostępny tylko dla użytkowników windows.
|
||||||
|
|
||||||
|
Oba programy pozwalają na zdalne podłączenie się do procesu programu.
|
||||||
|
### 10
|
||||||
|
Ostanią grupę stanowią odpluskiwacze wbudowane w środowiska programistyczne.
|
||||||
|
|
||||||
|
Większość z nich ma zbliżone możliwości do winpdb + niektóre z nich pozwalają na introspekcję obiektów w konsoli zintegrowanej z IDE
|
||||||
|
|
||||||
|
I to w zasadzie tyle jeśli chodzi o narzędzia.
|
||||||
|
### 12
|
||||||
|
Przygotowałem program, który będziemy debugować, który pozwoli rozwiązać problem konwersji długości mierzonego w calach na centymetr i odwrotnie dla przysłowiowego kowalskiego.
|
||||||
|
|
||||||
|
Jest tylko jeden drobny problem - program nie działa :(
|
||||||
|
### 13
|
||||||
|
Program jest niezwykle prosty (opis po angielsku styka)
|
||||||
|
### 14
|
||||||
|
Zobaczmy kod i jak można go zdebugować przy pomocy pdb, by kowalski mógł go używać
|
||||||
|
|||||||
Reference in New Issue
Block a user