pudb/doc/usage.rst
Andreas Kloeckner 7936386a73 Doc fixes
2020-08-28 10:22:05 -05:00

47 lines
1.5 KiB
ReStructuredText

Starting the debugger without breaking
--------------------------------------
To start the debugger without actually pausing use::
from pudb import set_trace; set_trace(paused=False)
at the top of your code. This will start the debugger without breaking, and
run it until a predefined breakpoint is hit. You can also press ``b`` on a
``set_trace`` call inside the debugger, and it will prevent it from stopping
there.
Interrupt Handlers
------------------
``set_trace`` sets ``SIGINT`` (i.e., ``Ctrl-c``) to run ``set_trace``, so that
typing ``Ctrl-c`` while your code is running will break the code and start
debugging. See the docstring of ``set_interrupt_handler`` for more
information. Note that this only works in the main thread.
Programming PuDB
----------------
At the programming language level, PuDB displays the same interface
as Python's built-in `pdb module <http://docs.python.org/library/pdb.html>`_.
Just replace ``pdb`` with ``pudb``.
(One exception: ``run`` is called ``runstatement``.)
Controlling How Values Get Shown
--------------------------------
* Set a custom stringifer in the preferences.
An example file might look like this::
def pudb_stringifier(obj):
return "HI"
* Add a method ``safely_stringify_for_pudb`` to the type.
A stringifier is expected to *never* raise an exception.
If an exception is raised, pudb will silently fall back
to its built-in stringification behavior.
A stringifier that takes a long time will further stall
the debugger UI while it runs.