MCPcopy Index your code
hub / github.com/fabioz/PyDev.Debugger

github.com/fabioz/PyDev.Debugger @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
8,190 symbols 27,443 edges 539 files 2,410 documented · 29%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PyDev.Debugger

New

Latest 3.x version: the PyDev debugger now supports sys.monitoring which enables really fast tracing on Python 3.12 (so, if speed is an issue, make sure you upgrade).

Important

https://github.com/fabioz/PyDev.Debugger is the main repository for pydevd and the latest versions can always be used directly in:

  • PyDev for Eclipse: Enables the usage of pydevd in Eclipse (Open Source).

  • Python Debugger (PyDev) for VSCode: Enables the usage of pydevd in VSCode (note that while pydevd itself is open source, this extension is commercial and helps in the development of the Open Source version. It has a free trial and can be used by acquiring a license for PyDev for VSCode at: https://www.pydev.org/vscode/index.html).

    Note that the Python Debugger (PyDev) for VSCode may be used as a standalane extension for debugging Python by creating the proper configuration in a launch.json and launching it.

    Alternatively, PyDev for VSCode leverages it to offer additional features such as debugging of test cases.

History / Support

The PyDev Debugger (pydevd for short) is a Python debugger which historically was created to work with PyDev (in Eclipse).

Over the years (as it's open source -- EPL) it was adopted by other IDEs/companies (so, it was integrated into PyCharm and VSCode Python through debugpy, which also bundles pydevd).

Note that although it was adopted by other IDEs (and over the years companies of other commercial IDEs did provide backing), by far most of the work was done without any external backing and the ongoing work on the project relies on community support.

So, if you like using it, please consider becoming a backer of the project (this is done through the PyDev umbrella, so please see https://www.pydev.org/about.html for how to contribute to the project).

Source code / using

The sources for the PyDev.Debugger may be seen at:

https://github.com/fabioz/PyDev.Debugger

In general, the debugger backend should NOT be installed separately if you're using an IDE which already bundles it (such as PyDev for Eclipse, Python Debugger (PyDev) for VSCode, PyCharm or the Microsoft Python VSCode Extension, which uses debugpy, which is another debug adapter bundling pydevd to be used in the Microsoft VSCode Python Extension and Visual Studio Python).

It is however available in PyPi so that it can be installed for doing remote debugging with pip -- so, when debugging a process which runs in another machine, it's possible to pip install pydevd and in the code use pydevd.settrace(host="10.1.1.1") (in PyDev) or pydevd.settrace(host="10.1.1.1", protocol="dap") (in PyDev for VSCode) to connect the debugger backend to the debugger UI running in the IDE (whereas previously the sources had to be manually copied from the IDE installation).

For instructions on how to Remote Debug with PyDev, see: https://www.pydev.org/manual_adv_remote_debugger.html

For instructions on how to Remote Debug with PyDev for VSCode, see: https://marketplace.visualstudio.com/items?itemName=fabioz.vscode-pydev-python-debugger

pydevd is compatible with Python 3.8 onwards and is tested both with CPython as well as PyPy.

For Python 3.3 to 3.7 please keep using pydevd 2.10.0.

For Python 2 please keep using pydevd 2.8.0.

Recent versions contain speedup modules using Cython, which are generated with a few changes in the regular files to cythonize the files. To update and compile the cython sources (and generate some other auto-generated files), build_tools/build.py should be run -- note that the resulting .pyx and .c files should be commited.

Core symbols most depended-on inside this repo

append
called by 898
_pydevd_bundle/pydevd_frame_utils.py
keys
called by 319
pydevd_attach_to_process/winappdbg/registry.py
update
called by 280
_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py
get
called by 261
_pydevd_bundle/pydevd_stackless.py
join
called by 224
pydevd.py
join
called by 210
tests_python/resources/_debugger_case20.py
to_dict
called by 204
_pydevd_bundle/_debug_adapter/pydevd_schema.py
pop
called by 170
_pydevd_bundle/pydevd_code_to_source.py

Shape

Method 3,939
Function 3,100
Class 1,109
Route 39
Enum 3

Languages

Python92%
C6%
C++1%

Modules by API surface

_pydevd_bundle/_debug_adapter/pydevd_schema.py824 symbols
_pydevd_frame_eval/pydevd_frame_evaluator.c514 symbols
tests_python/test_debugger_json.py276 symbols
pydevd_attach_to_process/winappdbg/win32/kernel32.py267 symbols
pydevd_attach_to_process/winappdbg/breakpoint.py210 symbols
tests_python/test_debugger.py185 symbols
pydevd_attach_to_process/winappdbg/process.py182 symbols
pydevd.py172 symbols
pydevd_attach_to_process/winappdbg/win32/advapi32.py143 symbols
pydevd_attach_to_process/winappdbg/interactive.py130 symbols
tests_python/debugger_unittest.py118 symbols
pydevd_attach_to_process/winappdbg/thread.py115 symbols

Datastores touched

CrashesDatabase · 1 repos

For agents

$ claude mcp add PyDev.Debugger \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact