Skip to content

cakemanny/pymontrace

Repository files navigation

First Terminal

    python3 examples/script_to_debug.py

Second terminal

    pymontrace -p "$(pgrep '[Pp]ython')" -e 'line:*/script_to_debug.py:13 {{ print("a", ctx.a, "b", ctx.b) }}'
    Waiting for process to reach safepoint...
    Probes installed. Hit CTRL-C to end...
    a 4 b 3
    a 3 b 7
    a 7 b 1
    a 1 b 8
    a 8 b 0
    ^CRemoving probes...
    Waiting for process to reach safepoint...
    .


INSTALLATION:

    pymontrace can be installed with pip or pipx or just run with pipx run at
    your preference.

        pip install pymontrace

        pipx install pymontrace

        pipx run pymontrace

        uvx pymontrace


DOCUMENTATION:

    See  pymontrace -h  and  https://cakemanny.com/pymontrace  or
    docs/SUMMARY.md in the github repository for some initial documentation.


WARNING:

  - This is under early development and is in no way safe to use against
    production workloads.

  - The interface will change wildly without warning. There are no versioning
    guarantees at this point.


CAVEATS:

  - Use on macOS requires root. Use `sudo`.

  - Probes will only fire if the function is entered after the probe has
    been installed. This means that top level statements cannot be traced and
    that the statements inside an outermost forever-loop cannot be traced.

About

Production oriented debugger/tracer for Python

Resources

License

Stars

Watchers

Forks