Better document remote debugging, add example
This commit is contained in:
parent
efe4f315b6
commit
e7556d74c2
@ -10,4 +10,6 @@ include doc/*.py
|
|||||||
include doc/conf.py
|
include doc/conf.py
|
||||||
include doc/images/*.png
|
include doc/images/*.png
|
||||||
|
|
||||||
|
include examples/*.py
|
||||||
|
|
||||||
include manual-tests/*.py
|
include manual-tests/*.py
|
||||||
|
@ -70,7 +70,8 @@ instead, use the ``--log-errors`` flag::
|
|||||||
Remote debugging
|
Remote debugging
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Rudimentary remote debugging is also supported::
|
Rudimentary remote debugging is also supported. To break into the debugger,
|
||||||
|
enabling you to connect via ``telnet``, use the following code::
|
||||||
|
|
||||||
from pudb.remote import set_trace
|
from pudb.remote import set_trace
|
||||||
set_trace(term_size=(80, 24))
|
set_trace(term_size=(80, 24))
|
||||||
@ -78,9 +79,19 @@ Rudimentary remote debugging is also supported::
|
|||||||
At this point, the debugger will look for a free port and wait for a telnet
|
At this point, the debugger will look for a free port and wait for a telnet
|
||||||
connection::
|
connection::
|
||||||
|
|
||||||
pudb:6899: Please telnet into 127.0.0.1 6899.
|
pudb:6899: Please start a telnet session using a command like:
|
||||||
|
telnet 127.0.0.1 6899
|
||||||
pudb:6899: Waiting for client...
|
pudb:6899: Waiting for client...
|
||||||
|
|
||||||
|
To debug a function in a remote debugger (and examine any exceptions that
|
||||||
|
may occur), use code like the following:
|
||||||
|
|
||||||
|
.. literalinclude:: ../examples/remote-debug.py
|
||||||
|
|
||||||
|
Upon running this, again, the debugger will wait for a telnet connection.
|
||||||
|
|
||||||
|
The following programming interface is available for the remote debugger:
|
||||||
|
|
||||||
.. automodule:: pudb.remote
|
.. automodule:: pudb.remote
|
||||||
|
|
||||||
"Reverse" remote debugging
|
"Reverse" remote debugging
|
||||||
@ -138,7 +149,8 @@ Usage with pytest
|
|||||||
^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
To use PuDB with `pytest <http://docs.pytest.org/en/latest/>`_, consider
|
To use PuDB with `pytest <http://docs.pytest.org/en/latest/>`_, consider
|
||||||
using the `pytest-pudb <https://pypi.python.org/pypi/pytest-pudb>`_ plugin.
|
using the `pytest-pudb <https://pypi.python.org/pypi/pytest-pudb>`_ plugin,
|
||||||
|
which provides a ``--pudb`` option that simplifies the procedure below.
|
||||||
|
|
||||||
Alternatively, as of version 2017.1.2, pudb can be used to debug test failures
|
Alternatively, as of version 2017.1.2, pudb can be used to debug test failures
|
||||||
in `pytest <http://docs.pytest.org/en/latest/>`_, by running the test runner
|
in `pytest <http://docs.pytest.org/en/latest/>`_, by running the test runner
|
||||||
|
8
examples/remote-debug.py
Normal file
8
examples/remote-debug.py
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
def debugged_function(x):
|
||||||
|
y = x + fail # noqa: F821
|
||||||
|
return y
|
||||||
|
|
||||||
|
|
||||||
|
from pudb.remote import debugger
|
||||||
|
dbg = debugger()
|
||||||
|
dbg.runcall(debugged_function, 5)
|
Loading…
Reference in New Issue
Block a user