mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-08 10:13:36 -08:00
New debugger command :D[isassemble]
This commit is contained in:
parent
12799c7305
commit
4a885c310e
2 changed files with 22 additions and 1 deletions
|
|
@ -10,6 +10,9 @@ ECL 1.0:
|
|||
- New commands, :RESTART, :R1, :R2, etc, allow invoking restarts (contributed
|
||||
by Chui Tey).
|
||||
|
||||
- Interpreted functions can now be disassembled in the debugger. The commands
|
||||
are :D and :DISASSEMBLE.
|
||||
|
||||
* Bugs fixed:
|
||||
|
||||
- STREAMP signals an error for Gray streams.
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ rebinds this variable to NIL when control enters a break loop.")
|
|||
function, its lexical environment is available for inspection and~@
|
||||
becomes the environment for evaluating user input forms.~@
|
||||
~@
|
||||
See also: :backtrace, :next, previous, :variables.~%")
|
||||
See also: :backtrace, :next, previous, :disassemble, :variables.~%")
|
||||
((:p :previous) tpl-previous nil
|
||||
":p(revious) Go to previous function"
|
||||
":previous &optional (n 1) [Break command]~@
|
||||
|
|
@ -232,6 +232,13 @@ rebinds this variable to NIL when control enters a break loop.")
|
|||
The match is case insensitive.~@
|
||||
~@
|
||||
See also: :backtrace, :function, :previous.~%")
|
||||
((:d :disassemble) tpl-disassemble-command nil
|
||||
":d(isassemble) Disassemble current function"
|
||||
":disassemble [Break command]~@
|
||||
:d [Abbreviation]~@
|
||||
~@
|
||||
Disassemble the current function. Currently, only interpreted functions~@
|
||||
can be disassembled.~%")
|
||||
((:v :variables) tpl-variables-command nil
|
||||
":v(ariables) Show local variables, functions, blocks, and tags"
|
||||
":variables &optional no-values [Break command]~@
|
||||
|
|
@ -534,6 +541,17 @@ under certain conditions; see file 'Copyright' for details.")
|
|||
(terpri))
|
||||
(values))
|
||||
|
||||
(defun tpl-disassemble-command (&optional no-values)
|
||||
(let*((*print-level* 2)
|
||||
(*print-length* 4)
|
||||
(*print-pretty* t)
|
||||
(*print-readably* nil)
|
||||
(functions) (blocks) (variables))
|
||||
(unless (si::bc-disassemble (ihs-fun *ihs-current*))
|
||||
(tpl-print-current)
|
||||
(format t " Function cannot be disassembled.~%"))
|
||||
(values)))
|
||||
|
||||
(defun tpl-variables-command (&optional no-values)
|
||||
(let*((*print-level* 2)
|
||||
(*print-length* 4)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue