Releases: Trepan-Debuggers/python3-trepan
Releases · Trepan-Debuggers/python3-trepan
BSides NYC 2025 - take 2
- 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
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
1.4.0
- Adjust for changes in Python 3.13 for debugging, and breakage caused by Python 3.13 and its packaging system.
- Environment variable
TREPAN_PYGMENTS_STYLEnow influences the default style used. This is useful when going from a shell using Pygments goes into the debugger. In particular, the Mathics3 debugger andmathicsscriptwork this way. - Add set/show disasmflavor to set disassembly style. "Disasmflavor" is the name
gdbuses. - Improve
run_eval()based on use. - Go over docs, and README.rst
1.3.1
- Revise breakpoint handling; Breakpoints now use code objects, not (possibly ambiguous) function names
- Fix bugs in detecting when stopped at a
defand innextlineno() - Better information when current frame is inside a builtin
evalorexeccall - Fix some of the many disasm spec problems.
- Go over
eval,skip,step,jump, andautoevaldocumentation - 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
- 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
BlackHat Asia 2024 Ides of March
- Revise for newer
xdis. - Go over disassembly (more work is needed)
- Add
set/show asmfmt, andset/show stylescommands. - Go over terminal detection.
- Tolerate GraalVM
- Remove use of
nosetestin 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
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
- Convert to use newer xdis (which handles 3.10)
- sphinx doc updates
- Generalize
subcmdmgrfor 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 == ''