Cross-debugger inline debugging tracepoints for pdb/winpdb/pydevd/pycharm
Project description
Convenience method for manually inserting tracepoints into code that support multiple debuggers
import dbg ; dbg.D()
as an alternative to:
import pdb ; pdb.set_trace()
This supports multiple debuggers; currently pdb (or Pdb++ if installed), winpdb, and pydevd (which is used inside both PyDev and PyCharm).
Selecting the debugger
The debugger desired can be selected by setting the environment variable PYDBG. The following are valid values:
pydevd or pycharm will use pydevd locally (if running in debug mode) or remotely if not
pydevd_remote or pycharm_remote will use pydevd remotely
pydevd_local or pycharm_local will use pydevd locally, and warn if not running in debug mode
winpdb will use winpdb
pdb will use pdb (default)
An environment variable is used so that imports of the debugger libraries can be determined at import time.
Inserting a tracepoint
Call dbg.D() to insert a tracepoint in the code; the appropriate debugger should launch when that line of code is executed, ready to execute the following line.
A thread-safe version dbg.tsD()``is also supported. This is only different when using ``pdb; in that case multiple threads having tracepoints (for example, in a web server) can cause confusion as multiple debug sessions get attached to the same console. The tsD implementation uses a lock to only allow one debug session to use the console at once; other sessions are not allowed the lock until the debug interaction is finished (e.g. typing c for continue).
Parameters for debuggers
Some debuggers have parameters that can be set using environment variables, or at runtime.
pydevd implementation will use the value of the environment variables PYDEVD_HOST for hostname and PYDEVD_PORT for port when connecting remotely by default. These can also be adjusted on by setting dbg.pydevd_args.host and dbg.pydevd_args.port at runtime.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dbghelper-0.3.tar.gz
.
File metadata
- Download URL: dbghelper-0.3.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09c4c537ff485811598e269568261093984054fdc61dbfc548a98f9349af0acb |
|
MD5 | f352f884cd88c8d64082a9f10646bca4 |
|
BLAKE2b-256 | ccaf1c552a9b7a3eadfcbb86d0b5b81c9c313cff399c22ef43621f6eb927b428 |
File details
Details for the file dbghelper-0.3-py2.7.egg
.
File metadata
- Download URL: dbghelper-0.3-py2.7.egg
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11fed4a2bf635efb38d4d01044cd5b60579a1db8c5b6f7aeea8f605223f1777c |
|
MD5 | 5c6ad8cca590d6f3d0dcdc0fc9a85636 |
|
BLAKE2b-256 | 0edeba0b351a91d3cf4a83bbdebc74d23a09a718bf2a4c20cfc56f3279a84fae |