Winpdb Reborn - A GPL Python Debugger, reborn from the unmaintained Winpdb

Overview

Note from Philippe Fremy

The port of winpdb-reborn to Python 3 / WxPython 4 is unfortunately not working very well. So Winpdb for Python 3 does not really work. Feel free to submit Pull Requests to improve the situation. At the moment, this project is stopped.


Build Status Linux

Winpdb Reborn - A GPL Python Debugger, reborn from the unmaintained Winpdb

by Philippe Fremy as maintainer, and Nir Aides as initial author

Website: https://github.com/bluebird75/winpdb

Description

Winpdb Reborn is a portable (Windows / Linux / macOS) standalone graphical debugger for Python. It focuses on making debugging easy and does not include any IDE features. It has very little dependencies (only wxPython for the GUI).

Features:

  • graphical interface with stack/variable inspection, breakpoints and more
  • breakpoints: on lines or functions, with possible conditions, load/save breakpoint info
  • multi-threaded debugging
  • smart handling of fork, follow parent or child
  • remote debugging: GUI on one computer, program to debug on another computer with encrypted communication
  • up to 20 times quicker than pdb, the default Python debugger (on which many other debuggers are built)
  • debug PyPy scripts

Note: The original Winpdb was no longer maintained since the v1.4.8 release in 2010. With the agreement of the author (Nir Aides), I (Philippe Fremy) am providing a maintained version with new functionality under the Winpdb Reborn name.

Requirements

Platform supported:

  • Linux
  • Windows XP and above
  • macOS is probably working but not tested

To run Winpdb Reborn:

  • CPython 3.5 or above and wxPython 4

This version is for Python 3 only. A stable version of Winpdb for Python 2 is available on PyPi: https://pypi.org/project/winpdb-reborn/1.5.0/ and in the branch winpdb-reborn-python2 . You will need Python 2.7 and WxPython 3 to run it.

Note that running Winpdb with PyPy is possible, by launching rpdb2.py with pypy and using the Winpdb GUI to connect to it.

Winpdb Reborn is NOT compatible with Jython or IronPython.

Release history

Version 2.0.0.1

  • fix packaging mistake which prevented winpdb to run

Version 2.0.0

  • port Winpdb to wxPython 4 / Python 3
  • the effort is still in progress

Version 1.5.0

  • First official release by Philippe Fremy
  • Add support for Python 3 GUI (using wxPython Phoenix)
  • Allow installation of all dependencies with pip
  • Add support for Python 2.7, 3.5 and 3.6
  • Drop support for Python 2.5 and wxPython 2.6, min versions are now Python 2.6 and wxPython 3.0
  • rpdb2.py is now compatible with Python 3
  • Add support for PyPy to Rpdb2
  • Can now specify a different Python interpreter for the program under debug, allowing PyPy support
  • Avoid crash on Windows when closing debugger
  • Support drag’n drop of files to load source code
  • Add unit-tests and a functional test suite
  • Add a Continuous Integration server with travis CI
  • Can adjust behavior of debugger to activate/deactivate the breakpoint before exit
  • fix for launching Gnome Terminal properly

Version 1.4.8

Last stable version released by Nir Aides.

Installation

(not working yet until the new version is released).

The standard way to install Winpdb Reborn is with pip, as administrator/root::

# python -m pip install winpdb-reborn

You must also install the wxPython for your version of Python:

Winpdb Reborn is not packaged yet by any Linux distro. If your package manager proposes to install Winpdb, that’s the old unmaintained Winpdb which works neither with Python 2.7 nor with Python 3.

Additional installation methods

To install from a checkout or from an archive::

# python setup.py install -f

No install mode

If you don’t want to install Winpdb Reborn, you can still try it by calling it explicitly with your program to debug::

$ python /the/path/to/winpdb.py my_program.py 

Where do the files go ?

The setup script copies rpdb2.py and winpdb.py modules to the Python site-packages folder. The scripts rpdb2 and winpdb are copied to the Python binaries (scripts) folder. On Linux, this folder is usually /usr/bin and is in the path by default. On Windows, this folder is %PYTHONHOME%\Scripts, where you should see a winpdb.exe and rpdb2.exe .

Usage

If you have installed Winpdb Reborn, the simplest way to launch it is::

$ python -m winpdb my_program.py

or even::

$ winpdb my_program.py

Find out about the other command-line options with –-help .

Documentation

Use the -h or --help command-line flag for command-line help.

Inside Winpdb/Rpdb2 console, use the help command for detailed description of debugger commands.

Online documentation is available at: https://web.archive.org/web/20180724122042/http://www.winpdb.org/docs

An introduction to Winpdb usage, by Pr Norm Matloff: http://heather.cs.ucdavis.edu/%7Ematloff/winpdb.html

A detailed Winpdb tutorial is also available at: https://code.google.com/archive/p/winpdb/wikis/DebuggingTutorial.wiki

Community

You can ask questions about Winpdb Reborn on the dedicated Google group: https://groups.google.com/forum/#!forum/winpdb

Feel free to raise issues or propose improvements on the GitHub repository: https://github.com/bluebird75/winpdb/issues

Owner
Philippe F
Passionated Software Developer and SCRUM Master, with a strong love for Python and Qt.
Philippe F
Python's missing debug print command and other development tools.

python devtools Python's missing debug print command and other development tools. For more information, see documentation. Install Just pip install de

Samuel Colvin 637 Jan 02, 2023
Voltron is an extensible debugger UI toolkit written in Python.

Voltron is an extensible debugger UI toolkit written in Python. It aims to improve the user experience of various debuggers (LLDB, GDB, VDB an

snare 5.9k Dec 30, 2022
Visual profiler for Python

vprof vprof is a Python package providing rich and interactive visualizations for various Python program characteristics such as running time and memo

Nick Volynets 3.9k Jan 01, 2023
Monitor Memory usage of Python code

Memory Profiler This is a python module for monitoring memory consumption of a process as well as line-by-line analysis of memory consumption for pyth

Fabian Pedregosa 80 Nov 18, 2022
Cyberbrain: Python debugging, redefined.

Cyberbrain1(电子脑) aims to free programmers from debugging.

laike9m 2.3k Jan 07, 2023
pdb++, a drop-in replacement for pdb (the Python debugger)

pdb++, a drop-in replacement for pdb What is it? This module is an extension of the pdb module of the standard library. It is meant to be fully compat

1k Jan 02, 2023
Silky smooth profiling for Django

Silk Silk is a live profiling and inspection tool for the Django framework. Silk intercepts and stores HTTP requests and database queries before prese

Jazzband 3.7k Jan 01, 2023
Arghonaut is an interactive interpreter, visualizer, and debugger for Argh! and Aargh!

Arghonaut Arghonaut is an interactive interpreter, visualizer, and debugger for Argh! and Aargh!, which are Befunge-like esoteric programming language

Aaron Friesen 2 Dec 10, 2021
Never use print for debugging again

PySnooper - Never use print for debugging again PySnooper is a poor man's debugger. If you've used Bash, it's like set -x for Python, except it's fanc

Ram Rachum 15.5k Jan 01, 2023
Sentry is cross-platform application monitoring, with a focus on error reporting.

Users and logs provide clues. Sentry provides answers. What's Sentry? Sentry is a service that helps you monitor and fix crashes in realtime. The serv

Sentry 32.9k Dec 31, 2022
A web-based visualization and debugging platform for NuPIC

Cerebro 2 A web-based visualization and debugging platform for NuPIC. Usage Set up cerebro2.server to export your model state. Then, run: cd static py

Numenta 24 Oct 13, 2021
AryaBota: An app to teach Python coding via gradual programming and visual output

AryaBota An app to teach Python coding, that gradually allows students to transition from using commands similar to natural language, to more Pythonic

5 Feb 08, 2022
Sampling profiler for Python programs

py-spy: Sampling profiler for Python programs py-spy is a sampling profiler for Python programs. It lets you visualize what your Python program is spe

Ben Frederickson 9.5k Jan 08, 2023
Pyinstrument - a Python profiler. A profiler is a tool to help you optimize your code - make it faster.

Pyinstrument🚴 Call stack profiler for Python. Shows you why your code is slow!

Joe Rickerby 5k Jan 08, 2023
Django package to log request values such as device, IP address, user CPU time, system CPU time, No of queries, SQL time, no of cache calls, missing, setting data cache calls for a particular URL with a basic UI.

django-web-profiler's documentation: Introduction: django-web-profiler is a django profiling tool which logs, stores debug toolbar statistics and also

MicroPyramid 77 Oct 29, 2022
A configurable set of panels that display various debug information about the current request/response.

Django Debug Toolbar The Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/respons

Jazzband 7.3k Dec 31, 2022
Sweeter debugging and benchmarking Python programs.

Do you ever use print() or log() to debug your code? If so, ycecream, or y for short, will make printing debug information a lot sweeter. And on top o

42 Dec 12, 2022
Trace any Python program, anywhere!

lptrace lptrace is strace for Python programs. It lets you see in real-time what functions a Python program is running. It's particularly useful to de

Karim Hamidou 687 Nov 20, 2022
Full featured multi arch/os debugger built on top of PyQt5 and frida

Full featured multi arch/os debugger built on top of PyQt5 and frida

iGio90 1.1k Dec 26, 2022
A configurable set of panels that display various debug information about the current request/response.

Django Debug Toolbar The Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/respons

Jazzband 7.3k Dec 29, 2022