CL-USER> (setf *debug-mode-p* t) T CL-USER> (defun foo () (with-debug (print "debug mode!"))) WARNING: redefining COMMON-LISP-USER::FOO in DEFUN FOO CL-USER> (disassemble #'foo) ; disassembly for FOO ; Size: 55 bytes. Origin: #x530F019C ; FOO ; 9C: 498B4510 MOV RAX, [R13+16] ; thread.binding-stack-pointer ; A0: 488945F8 MOV [RBP-8], RAX ; A4: 4883EC10 SUB RSP, 16 ; A8: 488B15B9FFFFFF MOV RDX, [RIP-71] ; "debug mode!" ; AF: B902000000 MOV ECX, 2 ; B4: 48892C24 MOV [RSP], RBP ; B8: 488BEC MOV RBP, RSP ; BB: 41807D3800 CMP BYTE PTR [R13+56], 0 ; thread.stepping ; C0: 7402 JEQ L0 ; C2: CC0D INT3 13 ; single-step trap (around) ; C4: L0: B8A2B53850 MOV EAX, #x5038B5A2 ; # ; C9: FFD0 CALL RAX ; CB: 488BE5 MOV RSP, RBP ; CE: F8 CLC ; CF: 5D POP RBP ; D0: C3 RET ; D1: CC10 INT3 16 ; Invalid argument count trap NIL ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CL-USER> (setf *debug-mode-p* nil) NIL CL-USER> (defun foo () (with-debug (print "debug mode!"))) WARNING: redefining COMMON-LISP-USER::FOO in DEFUN FOO CL-USER> (disassemble #'foo) ; disassembly for FOO ; Size: 21 bytes. Origin: #x530F024C ; FOO ; 4C: 498B4510 MOV RAX, [R13+16] ; thread.binding-stack-pointer ; 50: 488945F8 MOV [RBP-8], RAX ; 54: BA17001050 MOV EDX, #x50100017 ; NIL ; 59: 488BE5 MOV RSP, RBP ; 5C: F8 CLC ; 5D: 5D POP RBP ; 5E: C3 RET ; 5F: CC10 INT3 16 ; Invalid argument count trap NIL