Skip to content

Releases: Trepan-Debuggers/python3-trepan

BSides NYC 2025 - take 2

17 Oct 19:55

Choose a tag to compare

  • Better handling of pyasm files and pyasm lines. These have location
    information and newlines. So don't add this in our routines. And
    don't color them for now.
  • Adjust development optional packages in packaging.
  • Better detection when decompilers are not available
  • Check for None in the call frame more often.
  • Add more type annotations to code.

BSides NYC 2025

18 Sep 15:53

Choose a tag to compare

Allow debugging bytecode-only file. Disassembly is shown when we can't decompile or otherwise infer the source code.

This is the first attempt. Better support in pyficache would be useful for better colorization and line caching.

1.4.1

05 Sep 01:41

Choose a tag to compare

PASSTHROUGH_EXCEPTIONS PASSTHROUGH_EXCEPTIONS allows the Mathics3 debugger and other debuggers
to register additional exceptions that can be raised.

1.4.0

26 Jul 10:23

Choose a tag to compare

  • Adjust for changes in Python 3.13 for debugging, and breakage caused by Python 3.13 and its packaging system.
  • Environment variable TREPAN_PYGMENTS_STYLE now influences the default style used. This is useful when going from a shell using Pygments goes into the debugger. In particular, the Mathics3 debugger and mathicsscript work this way.
  • Add set/show disasmflavor to set disassembly style. "Disasmflavor" is the name gdb uses.
  • Improve run_eval() based on use.
  • Go over docs, and README.rst

1.3.1

16 Jan 23:03

Choose a tag to compare

  • Revise breakpoint handling; Breakpoints now use code objects, not (possibly ambiguous) function names
  • Fix bugs in detecting when stopped at a def and in nextlineno()
  • Better information when current frame is inside a builtin eval or exec call
  • Fix some of the many disasm spec problems.
  • Go over eval, skip, step, jump, and autoeval documentation
  • Guard against invalid frame indexing in backtrace
  • Suggest import when a function is not found in getting a location
  • Improve "info frame", for example, opcode, add opcode source line
  • Allow breakpoints in a not-frozen module
  • Improve print_location() handling via deparsing (in older Python versions)
  • Tolerate missing keys in settings lookup.
  • Temporary file name is now based on some of the deparsed text (when we can deparse)

Nathanman

13 Nov 15:51

Choose a tag to compare

  • Less overhead and faster execution of "continue" and "next" (when
    possible) using improvements recently made to pytracer.
  • Support prompt-toolkit as an input interface. This is now the default
    on newer Pythons. Command completion is less featurefull than GNU readline
    but that will get addressed over time.
  • Add "load" command to support trepan3k plugins from a Python package
  • Add thread name to "info frame"
  • Add "reload" command to reload a debugger command.
    This allows making changes to the debugger while debugging
  • Improve disassembly output - better tagging and use of xdis extended format
  • Modernize style with more type annotations and flynt-converted f-strings
  • Support up to Python 3.13 (with some help from xdis)

1.2.11

22 Jul 16:31

Choose a tag to compare

  • Add set/show asmfmt Improve disassembler formatting; allow all of the assembler formats that exits
  • Track xdis API changes.
  • The usual lint and bug fixes

BlackHat Asia 2024 Ides of March

18 Mar 02:43

Choose a tag to compare

  • Revise for newer xdis.
  • Go over disassembly (more work is needed)
  • Add set/show asmfmt, and set/show styles commands.
  • Go over terminal detection.
  • Tolerate GraalVM
  • Remove use of nosetest in master branch
  • Modernize code using black and isort; convert to fstring use.
  • Tokerate 3.11 and 3.12; git branches handle older Python versions

Elaine Camilla

27 May 13:34

Choose a tag to compare

Commands that are useful in remote envionments and docker:

  • Add "set tempdir" to set location of TEMPDIR (useful docker)
  • Add "set/show substitute"

Other changes:

  • Blacken, and isort, codespell, and lint many files
  • ignore ignored signal
  • specialize decompiler to decompyle for 3.7 and 3.8
  • fix incorrect tagging in install doc and update decompilation info
  • Squelch traceback on break in unparsable file

1.2.8

06 Nov 00:33

Choose a tag to compare

  • Convert to use newer xdis (which handles 3.10)
  • sphinx doc updates
  • Generalize subcmdmgr for use in trepan-xpy trepan-xpy has a new class of subcommands Vmstack.
    So we need to be able to allow it to set trepanxpy as a base directory to look for
    subcommands in.
  • Disassembly tweak: Show argval when there is one and argrepr == ''