Skip to content

mmontone/slime-breakpoints

Repository files navigation

SLIME-BREAKPOINTS

SLIME extension for setting up breakpoints from Emacs.

Install

ℹ️ Please consider using SLIME ⭐, 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

  • slime-break-on-entry C-c b RET - Install breakpoint on FUNCTION-NAME.
  • slime-list-breakpoints C-c b l - Open a buffer that list the current installed breakpoints.
  • slime-remove-all-breakpoints C-c b q - Remove all breakpoints.
  • slime-remove-breakpoint C-c b - Remove breakpoint on FUNCTION-NAME.
  • slime-toggle-breakpoint C-c b SPC - Toggle breakpoint on FUNCTION-NAME.
  • slime-break-with-last-expression - Compile function at point with a BREAK at last expression position.

Tracing

  • slime-trace-last-expression - Compile function at point with a 'trace' expression at last expression position.

Stepping

  • slime-step-in-last-expression - Compile function at point with a 'step' expression at last expression position.
  • slime-step-in-next-expression - Compile function at point with a 'step' expression at next expression position.

Debug printing

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

  • slime-debug-print-next-expression - Instrument next expression to be debug printed when evaluated.
  • slime-debug-print-last-expression - Instrument last expression to be debug printed when evaluated.

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)

About

SLIME extension for setting up breakpoints

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published