The debug internals interface signals conditions when it can't adhere to its contract. These are serious-conditions because the program using the interface must handle them before it can correctly continue execution. These debugging conditions are not errors since it is no fault of the programmers that the conditions occur. The interface does not provide for programs to detect these situations other than calling a routine that detects them and signals a condition.
[ Condition]
debug-condition
This condition inherits from serious-condition, and all debug-conditions inherit from this. These must be handled, but they are not programmer errors.
[ Condition]
no-debug-info
This condition indicates there is absolutely no debugging information available.
[ Condition]
no-debug-function-returns
This condition indicates the system cannot return values from a frame since its debug-function lacks debug information details about returning values.
[ Condition]
no-debug-blocks
This condition indicates that a function was not compiled with debug-block
information, but this information is necessary necessary for some requested
operation.
[ Condition]
no-debug-variables
Similar to no-debug-blocks, except that variable information was
requested.
[ Condition]
lambda-list-unavailable
Similar to no-debug-blocks, except that lambda list information was
requested.
[ Condition]
invalid-value
This condition indicates a debug-variable has :invalid or :unknown value in a particular frame.
[ Condition]
ambiguous-variable-name
This condition indicates a user supplied debug-variable name identifies more than one valid variable in a particular frame.