Aangezien zelfs de meest doorgewinterde programmeur onmogelijk broncode kan schrijven die meteen kan uitgevoerd worden zonder fouten te produceren, bieden programmeeromgevingen zoals PyCharm heel wat ondersteuning voor het debuggen van broncode.
Om te debuggen moet je eerst één of meerdere breekpunten (breakpoints) toevoegen aan je broncode. Dit doe je met een muisklik in de linkermarge van de Editor.

Als je daarna rechts klikt in de editor en kiest voor de optie Debug ‘naam van je programma’ start je een nieuwe debugsessie. Als alternatief kies je Run ➤ Debug (Shift-F9) via het hoofdmenu of klik je op deze knop.

Het programma wordt uitgevoerd tot het eerste breekpunt. Je komt dan automatisch in het Debugger-venster terecht. Daarin kun je de huidige inhoud van de variabelen bekijken aan de rechterkant in de Threads & Variables tab.

Merk op dat ondertussen ook in het Editor-venster de waarden van de variabelen weergegeven worden.

Via de debug-knoppen bovenaan het Debugger toolwindow (of de sneltoetsen F8, F7, Alt-Shift-F7 en Shift-F8) kan je doorheen je programmacode bewegen.

Voor een overzicht van de mogelijke debug operaties geven we de onderstaande tabel:
| Knop | Sneltoets | Omschrijving |
|---|---|---|
| F7 | Step Into - spring naar het volgende statement dat zal uitgevoerd worden in je broncode; als het volgende statement een methode of een functie is, dan zal deze sneltoets ervoor zorgen dat je binnen de geassocieerde code van deze methode of functie zal springen | |
| F8 | Step Over - spring over een aanroep van een functie of een methode heen; het zal een methode of functie uitvoeren zonder binnen de geassocieerde code ervan te springen | |
| Shift + Alt + F7 | Step Into My Code - spring naar volgend statement dat zal uitgevoerd worden; als het volgende statement een methode of een functie is, dan zal deze sneltoets ervoor zorgen dat je enkel binnen de geassocieerde code van deze methode of functie zal springen als dit je eigen code is; library sources worden in dit geval overgeslagen | |
| Shift + F8 | Step Out - springt naar de code die de huidige methode of functie heeft aangeroepen; het zal het huidige codeblok dus verlaten en terugkeren naar de aanroepende code | |
| F9 | Resume Program - gebruik F9 om naar het volgende breekpunt te springen; als er verder geen breekpunten meer tegengekomen worden, zal de code dus tot het einde uitgevoerd worden (of totdat er zich een fout tijdens de uitvoering voordoet) |