Skip to content

Details

Most Python developers learn debugging the hard way: trial and error, scattered print-calls, and the occasional frustrated Stack Overflow search. We've all done this, treating it as an art form requiring intuition or experience, when there's a better way. It should be a systematic discipline with repeatable techniques — even in the age of LLMs.

This presentation in the VacExcHndlrs series changes that. We'll take a quick tour of PyCharm's debugger, and then apply it to some sample code. Moving into:

  • What value does this name actually reference?
  • What type is it — really?
  • Where does this object live in the call stack?
  • Can I reach it from this scope?

We'll crowd-code to diagnose and fix my deliberately buggy-routines:

  • Logic errors hiding in conditionals (why is the discount calculation broken?)
  • Type mismatches causing silent failures (of course it's an int!)
  • State accumulation bugs (why do results differ on the second call?)
  • The bugs your colleagues actually write - and the ones you write yourself

We’ll use the debugger as a tool for reasoning — not just clicking "StepOver". Breakpoints, watches, frame inspection, evaluating expressions… properly.

All welcome. Aimed at all levels of Python skill, but you will be expected to at least be able to read Python code.

There will be a Door Prize, kindly donated by JetBrains.

Related topics

Data Science using Python
Object Oriented Programming
Python
Computer Programming
Python Web Development

You may also like