The trivial-custom-debugger Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The trivial-custom-debugger Reference Manual

This is the trivial-custom-debugger Reference Manual, version 1.0.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Fri Jun 26 12:28:31 2020 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

trivial-custom-debugger

Description

This is a portability library that allows one to fully override the standard debugger provided by their Common Lisp system for situations where binding *debugger-hook* is not enough - most notably, for #'break.

Inside the debugger function:

Purpose

A basic building block that allows one to implement a portable, custom debugger for Common Lisp systems in place of the original system-provided one.

Example

TRIVIAL-CUSTOM-DEBUGGER> (with-debugger ((lambda (condition hook)
                                           (declare (ignore hook))
                                           (format t ";; Debugging a ~S!~%" 
                                                   (type-of condition))
                                           (throw :handled t)))
                           (list (catch :handled (error 'error))
                                 (catch :handled (break))
                                 (let ((*break-on-signals* 'error))
                                   (catch :handled (signal 'error)))
                                 (catch :handled 
                                   (invoke-debugger (make-condition 'error)))))
;; Debugging a ERROR!
;; Debugging a SIMPLE-CONDITION!
;; Debugging a SIMPLE-CONDITION!
;; Debugging a ERROR!
(T T T T)

Limitations

Inside with-debugger or after calling install:

Tests

Very roughly tested on SBCL, CCL, ECL, Clasp, ABCL, CLISP, ACL and LispWorks.

To run the test suite, evaluate (asdf:test-system :trivial-custom-debugger).


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 trivial-custom-debugger

Author

Michał "phoe" Herda <phoe@disroot.org>

License

MIT

Description

Allows arbitrary functions to become the standard Lisp debugger

Version

1.0.0

Source

trivial-custom-debugger.asd (file)

Component

trivial-custom-debugger.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 trivial-custom-debugger.asd

Location

trivial-custom-debugger.asd

Systems

trivial-custom-debugger (system)


Previous: , Up: Lisp files   [Contents][Index]

3.1.2 trivial-custom-debugger/trivial-custom-debugger.lisp

Parent

trivial-custom-debugger (system)

Location

trivial-custom-debugger.lisp

Packages

trivial-custom-debugger

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 trivial-custom-debugger

Source

trivial-custom-debugger.lisp (file)

Use List

common-lisp

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Macros

Macro: with-debugger (HOOK) &body BODY

Executes the provided forms in the dynamic environment where the provided hook function is set to be the system debugger.

Package

trivial-custom-debugger

Source

trivial-custom-debugger.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: call-with-debugger HOOK THUNK

Calls the provided thunk function in the dynamic environment where the provided hook function is set to be the system debugger.

Package

trivial-custom-debugger

Source

trivial-custom-debugger.lisp (file)

Function: install-debugger HOOK

Sets the provided debugger hook function as the system debugger function.

Package

trivial-custom-debugger

Source

trivial-custom-debugger.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   T  
Index Entry  Section

F
File, Lisp, trivial-custom-debugger.asd: The trivial-custom-debugger․asd file
File, Lisp, trivial-custom-debugger/trivial-custom-debugger.lisp: The trivial-custom-debugger/trivial-custom-debugger․lisp file

L
Lisp File, trivial-custom-debugger.asd: The trivial-custom-debugger․asd file
Lisp File, trivial-custom-debugger/trivial-custom-debugger.lisp: The trivial-custom-debugger/trivial-custom-debugger․lisp file

T
trivial-custom-debugger.asd: The trivial-custom-debugger․asd file
trivial-custom-debugger/trivial-custom-debugger.lisp: The trivial-custom-debugger/trivial-custom-debugger․lisp file

Jump to:   F   L   T  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   C   F   I   M   W  
Index Entry  Section

C
call-with-debugger: Exported functions

F
Function, call-with-debugger: Exported functions
Function, install-debugger: Exported functions

I
install-debugger: Exported functions

M
Macro, with-debugger: Exported macros

W
with-debugger: Exported macros

Jump to:   C   F   I   M   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables


Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   P   S   T  
Index Entry  Section

P
Package, trivial-custom-debugger: The trivial-custom-debugger package

S
System, trivial-custom-debugger: The trivial-custom-debugger system

T
trivial-custom-debugger: The trivial-custom-debugger system
trivial-custom-debugger: The trivial-custom-debugger package

Jump to:   P   S   T