Debugging met AI
Debugging met AI
Bugs zijn onvermijdelijk. Maar met Claude Code als debugging partner los je ze sneller op. Het verschil zit in hoe je het probleem presenteert.
Bugs beschrijven aan Claude
Hoe beter je beschrijving, hoe sneller de oplossing. Gebruik dit format:
Er is een bug in de checkout pagina.
Wat ik verwacht: Na het klikken op "Bestellen" wordt de
bestelling opgeslagen en zie ik een bevestigingspagina.
Wat er gebeurt: De pagina herlaadt en de bestelling
wordt niet opgeslagen. In de console zie ik:
"TypeError: Cannot read property 'id' of undefined"
Stappen om te reproduceren:
1. Ga naar /checkout
2. Vul het formulier in
3. Klik op "Bestellen"
Het “verwacht vs werkelijkheid” format is goud waard. Het geeft Claude direct de informatie die nodig is om de oorzaak te vinden, in plaats van in het wilde weg te zoeken.
Foutmeldingen samen lezen
Plak de foutmelding direct in Claude:
Ik krijg deze error als ik de app start:
Error: ENOENT: no such file or directory, open
'/app/config/database.json'
at Object.openSync (node:fs:603:3)
at readFileSync (node:fs:471:35)
at loadConfig (/app/src/config.ts:12:22)
at main (/app/src/index.ts:5:18)
Wat gaat er mis en hoe los ik het op?
Claude leest de error, analyseert de stack trace, en:
- Legt uit wat de error betekent
- Wijst naar het specifieke bestand en regelnummer
- Stelt een oplossing voor
Stack traces analyseren
Stack traces vertellen je precies waar de fout optreedt. Claude is er een meester in:
Analyseer deze stack trace en vertel me waar het misgaat:
Unhandled Promise Rejection: TypeError: res.json is not
a function
at handleLogin (/app/src/api/auth.ts:45:12)
at processTicksAndRejections (node:internal/process)
at async /app/src/middleware/errorHandler.ts:8:5
Claude identificeert:
- Waar:
auth.ts, regel 45 - Wat:
res.jsonbestaat niet — waarschijnlijk isresniet het verwachte Express response object - Waarom: Mogelijk een middleware die het response object overschrijft
Je hoeft niet te begrijpen wat een stack trace betekent. Plak het in Claude en vraag om uitleg. Claude vertaalt de technische informatie naar begrijpelijke taal.
Systematisch debuggen
Voor hardnekkige bugs die niet meteen duidelijk zijn:
De app is traag bij het laden van de productpagina.
Het duurt soms 10+ seconden. Ik weet niet waar het
aan ligt. Kun je systematisch onderzoeken wat de
oorzaak is?
Check:
1. De database queries in src/api/products.ts
2. De data fetching in src/pages/product/[id].tsx
3. Of er onnodige re-renders zijn in de componenten
Claude onderzoekt elk punt en rapporteert:
Gevonden: In src/api/products.ts worden bij elke
request ALLE reviews opgehaald (1000+), ook al toon
je er maar 10. Oplossing: voeg pagination toe.
Log analyse
Je kunt ook logbestanden delen:
Hier zijn de laatste 50 regels van mijn server logs.
Er gaat iets mis met de WebSocket verbinding:
[Log output hier plakken]
Wat zie je?
Let op: plak geen logs met gevoelige data (wachtwoorden, tokens, persoonlijke gegevens) in Claude. Anonimiseer eerst als dat nodig is.
Debugging checklist
Als je vastzit, doorloop dit rijtje met Claude:
- Reproduceer — Kun je de bug consistent reproduceren?
- Isoleer — In welk bestand of welke functie zit het probleem?
- Begrijp — Wat zou er moeten gebeuren vs wat gebeurt er?
- Hypothese — Wat is de meest waarschijnlijke oorzaak?
- Test — Pas de fix toe en test
- Verifieer — Is het probleem echt opgelost?
Laten we systematisch debuggen. De bug is: [beschrijf].
Begin bij stap 1: kun je de relevante code lezen en
een hypothese vormen over de oorzaak?
Wat je nu moet kunnen:
Je kunt nu effectief debuggen met Claude:
- Beschrijf bugs met “verwacht vs werkelijkheid”
- Plak foutmeldingen en stack traces direct in Claude
- Gebruik systematisch debuggen voor hardnekkige problemen
- Deel logs maar let op gevoelige data
De volgende keer dat je een bug tegenkomt: plak de foutmelding in Claude voordat je zelf gaat googelen. Je zult verrast zijn hoe snel het gaat.