Skip to content
Full-screen console debugger for Python
Python Shell
Branch: master
Clone or download

Latest commit

Latest commit 95c7a17 Jun 10, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Github CI: Fix coverage label Mar 16, 2020
doc Document the how to set new breakpoint() builtin in Python 3.7 Jun 21, 2019
manual-tests Convert tests to pytest Mar 31, 2016
pudb Fix Jedit tab completion error handling Jun 10, 2020
test Placate flake8 3.8 May 15, 2020
.coveragerc Added TravisCI and codecove.io support Apr 6, 2017
.gitignore Added TravisCI and codecove.io support Apr 6, 2017
.gitlab-ci.yml Drop Python 2.6 support May 29, 2019
.mailmap Add .mailmap Mar 12, 2013
LICENSE Create docs, trim README (Fixes #239 on Github) Apr 5, 2017
MANIFEST.in Add separate license file (requested by Dhiru Kolia) Sep 6, 2013
README.rst Fix README badge URLs Apr 5, 2020
debug_me.py Fix import cycle (Closes #325 on github) Jan 23, 2019
example-shell.py Note in example-shell.py that returning returns control to the debugger Apr 17, 2017
example-stringifier.py Fix simple typo: varialbes, -> variables, Dec 10, 2019
example-theme.py Add note to example-theme.py about curses and raw modes Dec 6, 2013
requirements.dev.txt Add a numpy dep for tests May 6, 2019
setup.cfg wheel: disable universal flag Nov 12, 2015
setup.py Remove specifics about Py3 version support Feb 17, 2020
try-the-debugger.sh Minor fix to bfroehle's Python 3 changes. Jul 14, 2012
upload_coverage.sh Fix coverage uploader script Sep 9, 2019

README.rst

PuDB: a console-based visual debugger for Python

Gitlab Build Status Github Build Status Python Package Index Release Page

Its goal is to provide all the niceties of modern GUI-based debuggers in a more lightweight and keyboard-friendly package. PuDB allows you to debug code right where you write and test it--in a terminal. If you've worked with the excellent (but nowadays ancient) DOS-based Turbo Pascal or C tools, PuDB's UI might look familiar.

Here's a screenshot:

https://tiker.net/pub/pudb-screenshot.png

You may watch a screencast, too.

Features

  • Syntax-highlighted source, the stack, breakpoints and variables are all visible at once and continuously updated. This helps you be more aware of what's going on in your program. Variable displays can be expanded, collapsed and have various customization options.
  • Simple, keyboard-based navigation using single keystrokes makes debugging quick and easy. PuDB understands cursor-keys and Vi shortcuts for navigation. Other keys are inspired by the corresponding pdb commands.
  • Use search to find relevant source code, or use "m" to invoke the module browser that shows loaded modules, lets you load new ones and reload existing ones.
  • Breakpoints can be set just by pointing at a source line and hitting "b" and then edited visually in the breakpoints window. Or hit "t" to run to the line under the cursor.
  • Drop to a Python shell in the current environment by pressing "!".
  • PuDB places special emphasis on exception handling. A post-mortem mode makes it easy to retrace a crashing program's last steps.
  • Ability to control the debugger from a separate terminal.
  • IPython integration (see wiki)
  • Should work with Python 2.7 and newer, including Python 3.

Links

PuDB documentation

PuDB also has a mailing list that you may use to submit patches and requests for help. You can also send a pull request to the GitHub repository

Development Version

You may obtain the development version using the Git version control tool.:

git clone https://github.com/inducer/pudb.git

You may also browse the code online.

You can’t perform that action at this time.