Skip to main content
PDBX

What is it
----------
pdbx: A remote pdb debugger Base on pdb
It's:
1) be compatible with pdb
2) remote debug supported
3) xq/xquit commands supported
quit safely from debugger, the program being executed is continued(not abored)
4) redebug supported
5) suspend mode supported
6) pystack(like jstack) supported


Installing pdbx
---------------
1) Download pdbx from https://code.google.com/p/stonelab/downloads/list or https://pypi.python.org/pypi
2) Unpack the archive
tar xvf pdbx-x.x.x.tar.gz
3) Install pdbx
sudo python setup.py install


How to use pdbx
---------------
1) Add pbdx in python scripts
e.g.
from pdbx import Rpdb
rpdb = Rpdb() # Debugger started. Port is 8787(Default Value), Suspend is True(Default Value)
rpdb = Rpdb(9898) # Debugger started. Port is 9898(Specified Value), Suspend is True(Default Value)
rpdb = Rpdb(suspend=False) # Debugger started. Port is 8787(Default Value), Suspend is False(Specified Value)
rpdb = Rpdb(9898, False) # Debugger started. Port is 9898(Specified Value), Suspend is False(Specified Value)
rpdb.set_trace()

2) Remote debug with telnet
e.g.
telnet xxx.xxx.xxx.xxx 8787

3) Interact with pdb commands
Documented commands (type help <topic>):
========================================
EOF bt cont enable jump pp run unt xq
a c continue exit l q s until xquit
alias cl d h list quit step up
args clear debug help n r tbreak w
b commands disable ignore next restart u whatis
break condition down j p return unalias where

xq/xquit are new commands in pdbx
it's used to quit safely from debugger, the program being executed is continued(not abored)

4) Re-Remote debug with telnet
telnet again.

5) use pystack
enable pystack in python scripts and then run the scripts
e.g.
import pdbx
pdbx.enable_pystack()

use kill -30 pid, then scripts will print python thread stack info:
"CP Server Thread-4" tid=4369723392
at self.__bootstrap_inner()(threading.py:525)
at self.run()(threading.py:552)
at conn = self.server.requests.get()(__init__.py:1367)
at self.not_empty.wait()(Queue.py:168)
at waiter.acquire()(threading.py:244)

"CP Server Thread-7" tid=4382343168
at self.__bootstrap_inner()(threading.py:525)
at self.run()(threading.py:552)
at conn = self.server.requests.get()(__init__.py:1367)
at self.not_empty.wait()(Queue.py:168)
at waiter.acquire()(threading.py:244)

"MainThread" tid=140735286018432
at app.run()(raspctl.py:173)
at return wsgi.runwsgi(self.wsgifunc(*middleware))(application.py:313)
at return httpserver.runsimple(func, validip(listget(sys.argv, 1, '')))(wsgi.py:54)
at server.start()(httpserver.py:157)
at self.tick()(__init__.py:1765)
at s, addr = self.socket.accept()(__init__.py:1800)
at sock, addr = self._sock.accept()(socket.py:202)
at pystack()(pdbx.py:179)
at for filename, lineno, _, line in traceback.extract_stack(stack):(pdbx.py:168)


Release Notes
-------------
V0.1.0
1) remote debug supported

V0.2.0
1) xq/xquit supported
2) redebug supported
3) suspend mode supported
4) add setup.py

v0.3.0
1) pystack supported

Author Info
-----------
author: stone2083<Stone.J>
email: stone2083@yahoo.cn
blog: http://www.blogjava.net/stone2083
site: https://code.google.com/p/stonelab

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdbx-0.3.0.tar.gz (3.6 kB view details)

Uploaded Source

File details

Details for the file pdbx-0.3.0.tar.gz.

File metadata

  • Download URL: pdbx-0.3.0.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pdbx-0.3.0.tar.gz
Algorithm Hash digest
SHA256 31f3e5775723cd07d0637e3f58421d67a8f4ca2734459730e2fa4310789d709c
MD5 2a652c9adae00e40c4b8d033d0c271ad
BLAKE2b-256 f10662aa034c16d2225424318daa20597f0d20a23ead4d147f32ed477de03544

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.0 This release

1 file

0.2.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page