Debugging

Developers often find themselves in situations where the code they've written is not working quite right. When that happens, a developer debugs their code by instrumenting, executing and inspecting the code to determine what state of the application does not match the assumptions of how the code should be correctly running.

Why is debugging important?

There are bugs in every modest sized or larger application. Every developer has to learn how to debug code in order to write programs that work as correctly as time and budget allow.

Debugging tools

There are many debugging tools, some of which are built into IDEs like PyCharm and others that are standalone applications. The following list contains mostly standalone tools that you can use in any development environment.

  • pdb is a debugger built into the Python standard library and is the one most developers come across first when trying to debug their programs.

  • Web-PDB provides a web-based user interface for pdb to make it easier to understand what is happening while inspecting your running code.

  • wdb uses WebSockets to allow you to debug running Python code from a web browser.

  • Pyflame (source code) is a profiling tool that generates flame graphs for executing Python program code.

  • objgraph (source code) uses graphviz to draw the connections between Python objects running in an application

pdb tutorials

pdb is the most commonly-used debugger for Python because it is built into the standard library. The following walkthroughs will show you how to use pdb while fixing your own code.

Python-specific debugging tutorials

The Python ecosystem has a range of tools to help with debugging your code. These tutorials show you how to either use a tool other than pdb or provide an overview of the debugging ecosystem for Python.

General debugging resources

The following resources are not specific to Python development but give solid programming language-agnostic debugging advice.

测试您的应用程序后会发生什么?

我应该注意哪些代码度量?

我可以自动为我的应用程序进行测试和部署吗?

如何创建单元测试?

Sign up for a monthly email with Full Stack Python tutorials. No spam ever.

Sponsored By

Rollbar logo

Fix errors in your Python code before your users see them by monitoring with Rollbar.

Learn More Python

Introduction to Ansible video course logo.

Deploy web apps with the Ansible configuration management tool.


TestDriven logo

Build microservices with Docker, Flask & React in this great course.

Full Stack Python

Full Stack Python is an open book that explains concepts in plain language and provides helpful resources for those topics.
Updates via newsletter, Twitter & Facebook.