Debugging og fejlfinding
Programmering B · HTX · B-niveau · Software-udvikling
💻 Debugging
Debugging = systematisk fjernelse af fejl (bugs) fra kode.
Typer af fejl:
- Syntaksfejl: koden kan ikke parses (
if x = 5:i stedet forif x == 5:) - Runtime-fejl (exceptions): kodes krasjer under kørsel (
ZeroDivisionError,KeyError) - Logikfejl: koden kører men producerer forkert resultat (sværest at finde)
Debugging-teknikker:
1. Print-debugging (hurtig og primitiv):
```python
print(f"DEBUG: saldo = {konto.saldo}, beløb = {beløb}")
```
2. Python debugger (pdb):
```python
import pdb; pdb.set_trace() # sætter breakpoint
Kommandoer: n (next), s (step), c (continue), p variabel
```
3. IDE debugger (VS Code, PyCharm):
- Sæt breakpoints med klik
- Inspect variabelværdier live
- Step through kode linje for linje
- Watch expressions
4. Stack trace læsning:
```
Traceback (most recent call last):
File "app.py", line 12, in bereg_skat
return indkomst * sats
TypeError: unsupported operand type(s) for *: 'str' and 'float'
```
Læs nedefra op — den FØRSTE fejllinje er typisk den rigtige.
Logging i stedet for print:
```python
import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug("Saldo: %s", saldo)
```
Læringsmål
- Identificere og rette syntaksfejl, runtime-fejl og logikfejl
- Bruge IDE-debuggeren med breakpoints og variabel-inspection
- Læse og fortolke stack traces
- Erstatte print-debugging med logging
Sådan kan du arbejde med emnet
- Beskriv trin for trin, hvordan du vil finde fejlen i et program, der giver en uventet fejlmeddelelse
- Forklar hvad print-debugging er, og giv et eksempel på, hvordan det kan bruges
- Diskutér hvordan en debugger kan hjælpe med at finde fejl hurtigere end print-statements
Træningsforslag
- Debug en bevidst fejlbehæftet kode kun ved hjælp af IDE-debugger (ingen prints)
- Lær VS Code's debugger: breakpoints, step into, watch window
- Skriv en logging-konfiguration der skriver til fil i stedet for terminal
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis