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
Winpdb Reborn - A GPL Python Debugger, reborn from the unmaintained Winpdb

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 re

Philippe F 84 Dec 22, 2022
EDB 以太坊单合约交易调试工具

EDB 以太坊单合约交易调试工具 Idea 在刷题的时候遇到一类JOP(Jump-Oriented-Programming)的题目,fuzz或者调试这类题目缺少简单易用的工具,由此开发了一个简单的调试工具EDB(The Ethereum Debugger),利用debug_traceTransact

16 May 21, 2022
Visual Interaction with Code - A portable visual debugger for python

VIC Visual Interaction with Code A simple tool for debugging and interacting with running python code. This tool is designed to make it easy to inspec

Nathan Blank 1 Nov 16, 2021
A simple rubber duck debugger

Rubber Duck Debugger I found myself many times asking a question on StackOverflow or to one of my colleagues just for finding the solution simply by d

1 Nov 10, 2021
GDB plugin for streaming defmt messages over RTT from e.g. JLinkGDBServer

Defmt RTT plugin from GDB This small plugin runs defmt-print on the RTT stream produced by JLinkGDBServer, so that you can see the defmt logs in the G

Gaute Hope 1 Dec 30, 2021
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
Integration of IPython pdb

IPython pdb Use ipdb exports functions to access the IPython debugger, which features tab completion, syntax highlighting, better tracebacks, better i

Godefroid Chapelle 1.7k Jan 07, 2023
Little helper to run Steam apps under Proton with a GDB debugger

protongdb A small little helper for running games with Proton and debugging with GDB Requirements At least Python 3.5 protontricks pip package and its

Joshie 21 Nov 27, 2022
A toolbar overlay for debugging Flask applications

Flask Debug-toolbar This is a port of the excellent django-debug-toolbar for Flask applications. Installation Installing is simple with pip: $ pip ins

863 Dec 29, 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
Graphical Python debugger which lets you easily view the values of all evaluated expressions

birdseye birdseye is a Python debugger which records the values of expressions in a function call and lets you easily view them after the function exi

Alex Hall 1.5k Dec 24, 2022
Auto-detecting the n+1 queries problem in Python

nplusone nplusone is a library for detecting the n+1 queries problem in Python ORMs, including SQLAlchemy, Peewee, and the Django ORM. The Problem Man

Joshua Carp 837 Dec 29, 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
A gdb-like Python3 Debugger in the Trepan family

Abstract Features More Exact location information Debugging Python bytecode (no source available) Source-code Syntax Colorization Command Completion T

R. Bernstein 126 Nov 24, 2022
Hypothesis debugging with vscode

Hypothesis debugging with vscode

Oliver Mannion 0 Feb 09, 2022
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 Dec 24, 2022
OpenCodeBlocks an open-source tool for modular visual programing in python

OpenCodeBlocks OpenCodeBlocks is an open-source tool for modular visual programing in python ! Although for now the tool is in Beta and features are c

Mathïs Fédérico 1.1k Jan 06, 2023
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
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