next up previous contents
Next: Debug-sources Up: 10 Debugger Programmer's Interface Previous: 10.6 Breakpoints

Code-locations

Code-locations represent places in functions where the system has correct information about the function's environment and where interesting operations can occur--asking for a local variable's value, setting breakpoints, evaluating forms within the function's environment, etc.

Sometimes the interface returns unknown code-locations. These represent places in functions, but there is no debug information associated with them. Some operations accept these since they may succeed even with missing debug data. These operations' argument is named basic-code-location indicating they take known and unknown code-locations. If an operation names its argument code-location, and you supply an unknown one, it will signal an error. For example, frame-code-location may return an unknown code-location if someone interrupted Lisp in the given frame. The system knows where execution will continue, but this place in the code may not be a place for which the compiler dumped debug information.

[Function]
code-location-debug-function basic-code-location

This function returns the debug-function representing information about the function corresponding to the code-location.

[Function]
code-location-debug-block basic-code-location

This function returns the debug-block containing code-location if it is available. Some debug policies inhibit debug-block information, and if none is available, then this signals a no-debug-blocks condition.

[Function]
code-location-top-level-form-offset code-location

This function returns the number of top-level forms before the one containing code-location as seen by the compiler in some compilation unit. A compilation unit is not necessarily a single file, see the section on debug-sources.

[Function]
code-location-form-number code-location

This function returns the number of the form corresponding to code-location. The form number is derived by walking the subforms of a top-level form in depth-first order. While walking the top-level form, count one in depth-first order for each subform that is a cons. See  form-number-translations (page gif).

[Function]
code-location-debug-source code-location

This function returns code-location's debug-source.

[Function]
code-location-unknown-p basic-code-location

This function returns whether basic-code-location is unknown. It returns nil when the code-location is known.

[Function]
code-location= code-location1 code-location2

This function returns whether the two code-locations are the same.


next up previous contents
Next: Debug-sources Up: 10 Debugger Programmer's Interface Previous: 10.6 Breakpoints

Raymond Toy
Mon Jul 14 09:11:27 EDT 1997