Hi,
Please apply this diff. There are multiple problems with the existing code. * it seems to believe that DISASSEMBLE-CODE-COMPONENT only works on with non-null %code-debug-info. That's not true; it works on any code object. So depending on your standards, it's excessively wordy to just plain wrong.
* (ash (sb-kernel:%code-code-size o) sb-vm:word-shift) causes buffer overrun
* sb-disassem::align can not be called
See https://bugs.launchpad.net/sbcl/+bug/1748041 Thanks Doug
--- a/swank/sbcl.lisp +++ b/swank/sbcl.lisp @@ -1613,18 +1613,7 @@ stack." append (label-value-line i (sb-kernel:code-header-ref o i))) `("Code:" (:newline) , (with-output-to-string (s) - (cond ((sb-kernel:%code-debug-info o) - (sb-disassem:disassemble-code-component o :stream s)) - (t - (sb-disassem:disassemble-memory - (sb-disassem::align - (+ (logandc2 (sb-kernel:get-lisp-obj-address o) - sb-vm:lowtag-mask) - (* sb-vm:code-constants-offset - sb-vm:n-word-bytes)) - (ash 1 sb-vm:n-lowtag-bits)) - (ash (sb-kernel:%code-code-size o) sb-vm:word-shift) - :stream s))))))) + (sb-disassem:disassemble-code-component o :stream s)))))