title: How to watch local variables with Emacs built-in debugger on Common LISP?
body: <p>I'm writing Common LISP code with sbcl and slime on my iMac.
  I can call Emacs built-in debugger by inserting (break) between code lines or calling with (step) function. Below is a step of debugging procedure.</p>
  
  <pre><code>Restarts:
   0: [STEP-CONTINUE] Resume normal execution
   1: [STEP-OUT] Resume stepping after returning from this function
   2: [STEP-NEXT] Step over call
   3: [STEP-INTO] Step into call
   4: [RETRY] Retry SLIME REPL evaluation request.
   5: [*ABORT] Return to SLIME's top level.
   --more--
  
  Backtrace:
    0: ((LABELS RECURSE :IN PARTIAL-EVAL) X)
        Locals:
          BINDINGS = ((A . 3) (X . 0) (Y . 2))
          EXP = X
          #:G0 = X
    1: (SB-KERNEL:%MAP-TO-LIST-ARITY-1 #&lt;CLOSURE (LABELS RECURSE :IN PARTIAL-EVAL) {1002A9614B}&gt; (A X (- C C) (- 9 9) (+ Z (/ A 3 #) (- Y # Z))))
    2: ((LABELS RECURSE :IN PARTIAL-EVAL) (- A X (- C C) (- 9 9) (+ Z (/ A 3 #) (- Y # Z))))
        Locals:
          ARGS#1 = (A X (- C C) (- 9 9) (+ Z (/ A 3 (/ B)) (- Y (* A 1) Z)))
          BINDINGS = ((A . 3) (X . 0) (Y . 2))
          EXP = (- A X (- C C) (- 9 9) (+ Z (/ A 3 (/ B)) (- Y (* A 1) Z)))
          #:G0 = (- A X (- C C) (- 9 9) (+ Z (/ A 3 (/ B)) (- Y (* A 1) Z)))
          #:G5 = (A X (- C C) (- 9 9) (+ Z (/ A 3 (/ B)) (- Y (* A 1) Z)))
          OP = -
    3: (SB-KERNEL:%MAP-TO-LIST-ARITY-1 #&lt;CLOSURE (LABELS RECURSE :IN PARTIAL-EVAL) {1002A9614B}&gt; (1 (- A X (- C C) (- 9 9) (+ Z # #))))
    4: ((LABELS RECURSE :IN PARTIAL-EVAL) (/ 1 (- A X (- C C) (- 9 9) (+ Z # #))))
        Locals:
          ARGS#1 = (1 (- A X (- C C) (- 9 9) (+ Z (/ A 3 #) (- Y # Z))))
          BINDINGS = ((A . 3) (X . 0) (Y . 2))
          EXP = (/ 1 (- A X (- C C) (- 9 9) (+ Z (/ A 3 #) (- Y # Z))))
          #:G0 = (/ 1 (- A X (- C C) (- 9 9) (+ Z (/ A 3 #) (- Y # Z))))
          #:G5 = (1 (- A X (- C C) (- 9 9) (+ Z (/ A 3 #) (- Y # Z))))
          OP = /
    5: (PARTIAL-EVAL (/ 1 (- A X (- C C) (- 9 9) (+ Z # #))) ((A . 3) (X . 0) (Y . 2)))
    6: ((LAMBDA (&amp;REST SB-DI::ARGS) :IN SB-DI::HANDLE-SINGLE-STEP-AROUND-TRAP) (/ 1 (- A X (- C C) (- 9 9) (+ Z # #))) ((A . 3) (X . 0) (Y . 2)))
    7: ((LAMBDA ()))
    8: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LET ((SB-IMPL::*STEP-OUT* :MAYBE)) (UNWIND-PROTECT (SB-IMPL::WITH-STEPPING-ENABLED #))) #S(SB-KERNEL:LEXENV :FUNS NIL :VARS NIL :BLOCKS NIL :TAGS NIL :TYPE-RESTRICTIONS ..
    9: (SB-INT:SIMPLE-EVAL-IN-LEXENV (STEP (PARTIAL-EVAL (QUOTE #) (QUOTE #))) #&lt;NULL-LEXENV&gt;)
   10: (EVAL (STEP (PARTIAL-EVAL (QUOTE #) (QUOTE #))))
   --more--
  </code></pre>
  
  <p>When I expand each stack, I can track and see some local variables, but not all local variables. How can I add these missing local variables to watch list? When I used other IDE, watching variables was super easy, but with Emacs, I failed to find how to do this.</p>