mmontone / slime-breakpoints

SLIME extension for setting up breakpoints
15 stars 0 forks source link

SLIME-BREAKPOINTS

SLIME extension for setting up breakpoints from Emacs.

Install

ℹ️ Please consider using SLIME :star:, that comes with this extension preinstalled.

Load swank and add this repository path to swank::*load-path*, in your Lisp compiler init file (~/.sbclrc if using SBCL):

(require :swank)
(push #p"~/slime-breakpoints/" swank::*load-path*)

In Emacs, add this repository path to load-path and slime-breakpoints to slime-contribs in ~/.emacs init file, like:

(push "~/slime-breakpoints" load-path)

(setq slime-contribs '(slime-fancy slime-breakpoints))

(slime-setup)

Use

Breakpoints

Tracing

Stepping

Debug printing

These commands require cl-debug-print installed (it is available via Quicklisp).

Common Lisp api

You can also use from Common Lisp directly. The breakpoints package exports this functions:

break-on-entry

(function-name)

Setup a breakpoint on entry on FUNCTION-NAME.

breakpoint-installed-p

(function-name)

Wether a breakpoint is installed on FUNCTION-NAME.

reinstall-all-breakpoints

nil

Reinstall all breakpoints.

When a function is recompiled, the breakpoint is lost. A call to this function reintalls all breakpoints.

reinstall-breakpoint

(function-name)

Reinstall breakpoint on FUNCTION-NAME.

When a function is recompiled, the breakpoint is lost. A call to this function reinstalls the breakpoint.

remove-all-breakpoints

nil

Remove all installed breakpoints.

remove-breakpoint

(function-name)

Remove breakpoint on FUNCTION-NAME.

toggle-breakpoint

(function-name)

Toggle breakpoint on FUNCTION-NAME.

SLDB-SOURCE-EVAL

SLIME debugger (SLDB) extension that adds debugger context based evaluation directly from Lisp source buffers.

sldb-source-eval sldb-source-eval

SLDB-SHOW-FRAME-LOCAL

This is a prototype.

Show backtrace frames locals when the ursor over source code.

sldb-show-frame-local

Setup

(require 'sldb-show-frame-local)
(sldb-show-frame-local-on-cursor-move)