forked from Trepan-Debuggers/python3-trepan
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNEWS
More file actions
300 lines (226 loc) · 9.58 KB
/
NEWS
File metadata and controls
300 lines (226 loc) · 9.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
trepan 0.8.7 2018-04-16
- gdb "backtrace" negative count documented and supported
- add -d, --deparse and --source options on backtrace command
- DRY uncompyle and deparsing code. Use newer API
- expand source-code line-number width to 4 places
trepan 0.8.6 2018-03-8
Largely administrative changes
- Bump uncompyle6 version; use new uncompyle6 API
- Tweak disassemble doc
- Remove depares --pretty. sync with trepan2 code
- disassemble improvements
- small doc changes
trepan 0.8.5 2018-02-7
- Fix botched packaging? (modname)
trepan 0.8.4 2018-01-21
- Add deparsing in "list" command
- 3.4 compliance
there is a breakpoint
- Cache deparse info
- "set style" improvements
- Handle PyPy better
- "info locals *" and "info globals *" will list names
in columnar form omitting values
trepan 0.8.3 2018-01-21
User incompatibilty alert!
We have redone location, breakpoint, and list-range parsing.
This release needs an explanation.
Code to parse commands like "list" and "breakpoint" were ugly and hard
to maintain. I hit a the tipping point in adding flexibility to the
"disassemble" command which allows address in addition to the usual
other kinds of locations.
Since version 0.6.3 when the "deparse" command was added, there has
been a hidden dependency of the the Earley parser.
That is now used to simplify parsing concepts like location,
list range, or breakpoint position.
In the process, I've gone over the syntax to make things more gdb
compatible. But of course gdb is also a moving target, so its syntax
has been extended and gotten more complicated as well.
In the olden days, I was sad that debuggers didn't follow someone
else's syntax but instead invented their own, sometimes incompatible
with gdb. Nowadays though it is a Herculean feat to come close to
matching gdb's syntax. Sigh.
The other problem with matching gdb's syntax is that debugging Python
is enherently different from debugging a compiled language with object
files. Python's language model just isn't the same as C's.
So there are deviations. The biggest change that I suspect will impact
users is that function names in locations in this debugger needs a
trailing "()" to mark it as a function. This was not needed in
previous versions and it isn't needed in gdb.
Not implimented in our notion of location are things that feel
compiled-language object-file-ish. Specifying the function name inside
an object file, isn't the way Python (or most dynamic languages)
do things. Instead you list the method/function inside a class or
module. And we allow this to be done off of variables and variables
holding instance methods.
Some things like ending at an address is not implemented as going
backwards in variable-length bytecode is a bit of work. Other things
of dubious merit I've omitted. The flexibility that is there
is probably overkill.
Speaking of reduced flexibility. Now with parser in place we no longer
support expressions as numbers in list commands. It's not in gdb and
I have a feeling that too is overkill.
- Add break! and b! aliases to force setting a breakpoint on a line
trepan 0.7.8 2017-07-10
- Release for updated xdis and botched Rst
- PyPy 2.x tolerance
- Small error message improvements
trepan 0.7.7 2017-07-10
- improve remote debugging:
* scans for open ports
* allow a socket to be passed in
* start Celery remote debugging
- add deval, deval? commands: deparsed eval and eval?
- in python/shell don't go into post-mortem debugger on exception
- find source or decompile when bytecode is given
- Handle position in the presence of eval() and exec()
- show code via xdis when disassembling an entire function.
- improved terminal background detection respecting
environment variables: DARK_BG, COLORFGBG
- deparse improvements:
* do deparse offset fuzzing
* show asm listing for opcode
* add -o | --offset to indicate where to start deparsing from
trepan 0.7.6 2017-06-03
- Fix botched release
- Corrected setup.py code, cheking and better error messaging
`- better stack trace position in the presense of eval() and exec()
- position in the presence of eval() and exec() via uncompyle6; this needs
uncompyle6 0.11.0 or greater now
- better deparse command output shows grammar symbol on parent,
and full disassembly line for instruction
- add deparse -o | --offset
- deparse offset fuzzing
- in disassembly of functions show function header
trepan 0.7.5 2017-06-03
- Fix botched release via pip?
Go back to adding packages via setuptools find_package and
and include trepan.api
trepan 0.7.4 2017-06-03 Marilyn Frankel
- go over docs
- Add "set style" no arg doc
- Add "info program" text
- Improve "info macro"
- Add version test in setup to avoid possible install from Python 3
- Add "info pc" command
- Add MS Windows kill
- "deparse" changes:
* add --offset/-O option to show exact deparsable offsets
* allow fuzzy offset deparsing via uncompyle6 deparse_around_offset
- Update MANIFEST.in which should provide more reliable packaging
- "disassemble" changes:
* better output using routines from xdis package
- force deparse improvements by bumping uncompyle6 minimum version
trepan 0.7.3 2016-11-13
- Python 3.2 tolerance
- Use pyc2py from pyficache
- Adds source size checks
trepan 0.7.2 2016-11-12
- Minor tweaks
trepan 0.7.1 2016-10-09
- Fixed botched release 0.7.0
version.py and possibly other things were not getting installed
trepan 0.7.0 2016-10-09
- Remove namespace packages. These no longer work in Python3
- expresssion and highlight changes
* show display expression after setting it
* clear source-code cache after setting highlight
trepan 0.6.5 2016-07-26
- PyPy tolerance
- Add deparse options --parent --AST, --offset
- Use deparse bytecode to get source if we can't find it
- Some flake8 linting
trepan 0.6.4 2015-12-31 - End of Year
- follow gdb up/down conventions
- Bump min package version requirements
trepan 0.6.3 2015-12-27 - Late Christmas
- deparses (e.g. importlib._bootstrap) via uncompyle6 package
- add "info code" command to show Python code properties
- add "assert" to "eval?" command
- add "trepan.api.debug(start_opts={'startup-profile': True})" to get your
startup profile sourced
- Allow a frame object instead of a frame number in "frame" command
trepan 0.6.1 2015-12-10 - Dr Gecko
- add gdb-like "clear" command
- fallback to getlines for getting non-filename positions, e.g. inside compressed egg
- Remove spurious remap positions in showing location
- Allow diassembly by offset using @ prefix.
- disassembly secition header contains limit info
- bug fixes
trepan 0.6.0 2015-11-30
- Profile startup moved from .trepanrc2 to ./config/trepany/profile
- Add ability to pygments style via "set style". Add "show style"
- Add ability to remap a source file to another file name: "set substitute"
- Add gdb's "set confirm"
- Fix highlight bugs and improve colors for dark backgrounds, e.g. emacs atom dark.
- Miscellaneous bug and doc fixes
trepan 0.5.3 2015-10-12
- Revise quit to handle threads
trepan 0.5.2 2015-08-24
- redo to correct wheel build
trepan 0.5.1 2015-08-15
- pytest support improvement: Add debug(level=...)
The causes the debugger to skip recent frames used in setup.
trepan 0.5.0 2015-08-02
- Don't show an error if we can't import bpy or ipython - they are optional
- bug fixes
trepan 0.4.9 2015-06-12 Fleetwood
- add bpython shell.
- eval? of "for VAR in EXPR:" is "EXPR"
- set default completion (not debugger completion) in python shell
- Save/restore ipython completion if we can do so
- don't highlight prompt when highlight is plain/off
- add line completion on tbreak and break
- Add syntax help and go over docs, add links to readthedocs
trepan 0.4.8 2015-05-16
- Include instruction number in location
- whatis: more info via Python3 inspect
- align disassembly more with dis.dis.
- Add "info *" and "info arg1, arg2".
- Add "info frame *number*
- Set/check max args in subcommands
- Add completion on "tbreak", "break" and "set highlight"
- Don't highlight prompt when highlight is plain or off
- eval? picks out EXPR in for VAR in EXPR:
- Update online-help
trepan 0.4.7 2015-05-16
- Better command completion for on display numbers and identifiers
(commands: enable, disable, info break, delete, debug, whatis, pydocx,
pr, pp)
- "info break [nums..]" allows giving breakpoint numbers to narrow results
- add "info frame" to show current call-stack information,
- add "info signals * to show a list of signals
- fix misc bugs
trepan 0.4.6 2015-05-15
- Support for getting called from within ipython (--from_ipython)
See also https://github.com/rocky/ipython-trepan/
- prompt is underlined if highlight is on
- Fix bug in string eval to file remapping
- Add boolean closed on I/O routines
trepan 0.4.5 2015-05-10
- Fix bug in "next" command
- Try to fix RST in pypi
- Rename package to trepan3 since source-code can't co-exist
- fix bux in searching help with regexp
trepan 0.4.3 2015-04-06
- Make sure we don't step/trace into open() when running debugger
trepan 0.4.2 2015-04-06
- Should work with pip without needing --egg. Thanks to Georg Brandl
- Go over set/show help
- Go over docs and increase docstring RsT use
- Use flake8 and remove warnings
- Fix bug in signal-name lookup. From Georg Brandl
- remote execution options --host and --port
- Add fin and kill! aliases
- Fix bug in eval? elif
- Fix bug in signal-name lookup. From Georg Brandl
trepan 0.2.8 2013-05-12
- Fill out command completion more
- Fix bug in removing a display.
- Command history reading and saving works.
- Use .trepan3krc not trepan2rc
- Remote execution works, --server and --client options too.
- Start Bullwinkle processor
- Works on Python 3.3
0.2.5 2013-03-23
Initial release. Roughly matches pydbgr version 0.2.5