Runtime Manager¶
Open Dylan’s runtime manager is a set of components that underlie the development environment’s debugging functionality.
- The ACCESS-PATH library
- The ACCESS-PATH Module
- Creating and Attaching Access Paths
- Access Path Functions
access-path-abstract-handle
access-path-abstract-handle-setter
access-path-application-object
access-path-application
access-path-arguments
access-path-process
access-path-core-file
$max-spy-function-arguments
spy-function-argument-remote-vector
spy-function-argument-remote-vector-setter
$max-stepping-locations
stepping-locations-remote-vector
stepping-locations-remote-vector-setter
$access-ok
- Modeling Remote Objects
- Debugger Connections
<debugger-connection>
*open-debugger-connections*
connection-hostname
connection-hostname-setter
connection-open?
connection-open?-setter
connection-password
describe-debugger-connection
describe-debugger-connection(<local-debugger-connection>)
describe-debugger-connection(<remote-debugger-connection>)
do-open-debugger-connections
<access-connection>
make-access-connection
do-open-access-connections
connection-open-tethers
connection-process
connection-process-list
connection-process-list-setter
connection-process-setter
connection-network-address
host-machine
$local-hostname
do-processes
get-process-page-fault-count
- Remote Processes
- Remote Threads
<remote-thread>
do-threads
register-thread
thread-name
thread-access-path
get-thread-cpu-time
get-process-wall-clock-time
number-of-active-threads
thread-state
thread-priority
thread-suspended?
thread-permanently-suspended?
thread-permanently-suspended?-setter
stack-size
stack-size-setter
stack-size-valid?
stack-size-valid?-setter
stack-trace-valid?
stack-trace-valid?-setter
thread-stack
thread-stack-setter
- Remote Libraries
- Remote Object Files
- Debugger Connections
- Reading and Writing Memory
<remote-value>
=(<remote-value>, <remote-value>)
as-integer
as-integer(<remote-value>)
as-integer(<descriptor-pointer>)
as-integer-losing-precision
as-remote-value
as-remote-pointer
indexed-remote-value
byte-indexed-remote-value
remote-value-byte-size
tagged-remote-value-as-integer
tagged-remote-value-as-character
integer-as-tagged-remote-value
character-as-tagged-remote-value
remote-value-<
remote-value-<=
remote-value-=
remote-value-as-string
string-as-remote-value
remote-value-low-order-bits
<remote-register>
<unassigned-remote-register>
<active-remote-register>
register-name
do-registers
find-register
active-register
<remote-location>
<remote-type>
- Functions for Querying Page Protection
- Functions for Reading and Writing
<remote-access-violation-error>
read-value
read-value(<access-path>, <active-remote-register>)
read-value(<access-path>, <remote-value>)
write-value
write-value(<access-path>, <active-remote-register>, <remote-value>)
write-value(<access-path>, <remote-value>, <remote-value>)
read-8b
write-8b
read-16b
write-16b
read-32b
write-32b
read-64b
write-64b
read-single-float
read-single-float(<access-path>, <active-remote-register>)
read-single-float(<access-path>, <remote-value>)
write-single-float
write-single-float(<access-path>, <active-remote-register>, <single-float>)
write-single-float(<access-path>, <remote-value>, <single-float>)
read-double-float
read-double-float(<access-path>, <active-remote-register>)
read-double-float(<access-path>, <remote-value>)
write-double-float
write-double-float(<access-path>, <active-remote-register>, <double-float>)
write-double-float(<access-path>, <remote-value>, <double-float>)
read-byte-string
write-byte-string
- Controlling the Application
- Remote Function Calling
- Breakpoints and Watchpoints
- Stop Reasons
- Receiving and Processing Stop Reasons
- Stepping at Source Code Level
- The Class Hierarchy of Stop Reasons
<stop-reason>
<internal-stop-reason>
<basic-stop-reason>
<language-level-stop-reason>
<unhandled-stop-reason>
<external-stop-reason>
<profiler-stop-reason>
<profiler-unhandled-stop-reason>
<timeout-stop-reason>
stop-reason-process
stop-reason-thread
<process-stop-reason>
<create-process-stop-reason>
stop-reason-executable-component
<exit-process-stop-reason>
stop-reason-process-exit-code
<thread-stop-reason>
<create-thread-stop-reason>
create-thread-event-handler
create-thread-event-handler(<access-path>)
interactive-thread-break-event-handler(<access-path>)
<exit-thread-stop-reason>
interactive-thread-break-event-handler
stop-reason-thread-exit-code
<library-stop-reason>
stop-reason-library
<load-library-stop-reason>
<unload-library-stop-reason>
<rip-stop-reason>
stop-reason-exit-code
<debug-point-stop-reason>
stop-reason-debug-point-address
<breakpoint-stop-reason>
<single-step-stop-reason>
<source-step-stop-reason>
<source-step-into-stop-reason>
<source-step-out-stop-reason>
<source-step-over-stop-reason>
<watchpoint-stop-reason>
<read-watchpoint-stop-reason>
<write-watchpoint-stop-reason>
<exception-stop-reason>
stop-reason-exception-address
stop-reason-exception-first-chance?
<invoke-debugger-stop-reason>
<system-initialized-stop-reason>
<system-invoke-debugger-stop-reason>
<memory-exception-stop-reason>
<access-violation-stop-reason>
stop-reason-access-violation-address
stop-reason-access-violation-operation
$access-violation-on-execute
$access-violation-on-read
$access-violation-on-write
$access-violation-undecidable
<array-bounds-exception-stop-reason>
<instruction-exception-stop-reason>
<illegal-instruction-exception-stop-reason>
<privileged-instruction-exception-stop-reason>
<arithmetic-exception-stop-reason>
<float-exception-stop-reason>
<denormal-exception-stop-reason>
<float-divide-by-zero-exception-stop-reason>
<inexact-result-exception-stop-reason>
<invalid-float-operation-exception-stop-reason>
<float-overflow-exception-stop-reason>
<float-underflow-exception-stop-reason>
<float-stack-check-exception-stop-reason>
<integer-exception-stop-reason>
<integer-divide-by-zero-exception-stop-reason>
<integer-overflow-exception-stop-reason>
<noncontinuable-exception-stop-reason>
<stack-overflow-exception-stop-reason>
<unclassified-exception-stop-reason>
<output-debug-string-stop-reason>
stop-reason-debug-string
- First-Chance Exceptions
- Stack Backtraces
- Stack Frames
<stack-frame>
link-next
link-next-setter
link-previous
link-previous-setter
<function-frame>
initialize-stack-trace
number-of-frames-on-stack
next-frame
previous-frame
frame-pointer
frame-return-address
frame-instruction-address
older-stack-frame?
register-interactive-code-segment
lexicals
lexicals-setter
stack-frame-pointer
frame-thread
full-lexicals-read?
full-lexicals-read?-setter
partial-lexicals-read?
partial-lexicals-read?-setter
lexicals-count
lexicals-count-setter
lexicals-nub-table
lexicals-nub-table-setter
next-instruction
- Frame Arguments and Lexicals
- Continuing and Restarting Frames
- Stack Frames
- Symbol Lookup
<remote-symbol>
<remote-function>
remote-function-debug-start
remote-function-debug-end
remote-function-end
first-frame-breakable-address
first-frame-breakable-address(<remote-symbol>)
first-frame-breakable-address(<remote-function>)
last-frame-breakable-address
last-frame-breakable-address(<remote-symbol>)
last-frame-breakable-address(<remote-function>)
remote-symbol-name
remote-symbol-address
remote-symbol-language
$symbol-language-basic
$symbol-language-c
$symbol-language-c++
$symbol-language-cobol
$symbol-language-dylan
$symbol-language-fortran
$symbol-language-masm
$symbol-language-pascal
remote-symbol-library
remote-symbol-object-file
remote-symbol-storage-status
remote-symbol-source-location-map
remote-symbol-source-location-map-setter
definitely-no-source-locations
definitely-no-source-locations-setter
do-symbols
nearest-symbols
find-symbol
symbol-relative-address
address-within-definition?
address-within-definition?(<remote-symbol>, <remote-value>)
address-within-definition?(<remote-function>, <remote-value>)
function-bounding-addresses
classify-symbolic-name
- Disassembly
- Source Code
- Dylan-specific Extensions
- The ACCESS-PATH Module
- The DEBUGGER-MANAGER library
- Introduction
- Model of the Debugger Manager
- Debug Targets
<debug-target>
debug-target-access-path
debug-target-symbol-table
debug-target-compilation-context
debug-target-compilation-context-setter
find-library-called
obtain-component-name
obtain-component-name(<debug-target>, <string>)
<interactor-return-breakpoint>
interaction-request-application-state
interaction-request-application-state(<interactor-return-breakpoint>)
interaction-request-application-state-setter
interaction-request-application-state-setter(<object>, <interactor-return-breakpoint>)
- Debugger Transaction Caching Utilities
<page-relative-object-table>
<page-relative-object-table-entry>
add-object
add-object(<page-relative-object-table>, <remote-value>, <page-relative-object-table-entry>)
enquire-object
enquire-object(<page-relative-object-table>, <remote-value>)
remove-object
remove-object(<page-relative-object-table>, <remote-value>)
invalidate-page-relative-object-table
invalidate-page-relative-object-table(<page-relative-object-table>)
- Stop Reasons
stop-reason-debug-points
<debugger-generated-stop-reason>
stop-reason-client-data
<debugger-stop-application-stop-reason>
<dylan-invoke-debugger-stop-reason>
dylan-error-message-string
<dylan-debug-message-stop-reason>
dylan-debug-message-string
<source-code-alignment-stop-reason>
<interactor-return-stop-reason>
<interactive-thread-initialized-stop-reason>
interactive-thread-name
interactor-transaction-id
interactor-return-values
setup-interactor
handle-interactor-return
handle-interactor-return(<debug-target>, <remote-thread>, <object>)
<class-breakpoint-stop-reason>
class-breakpoint-class
class-breakpoint-size
- Managing Application Control
- Registering Debug Points
<debug-point>
<breakpoint>
<watchpoint>
<tracepoint>
<entry-tracepoint>
<return-tracepoint>
make-return-tracepoint
make-return-tracepoint(<debug-target>, <entry-tracepoint>, <remote-thread>)
make-return-tracepoint(<debug-target>, <starting-dynamic-initialization>, <remote-thread>)
initialize-return-tracepoint
initialize-return-tracepoint(<debug-target>, <return-tracepoint>, <remote-thread>)
corresponding-entry-tracepoint
dylan-trace-entry-arguments
dylan-trace-return-values
handle-debug-point-event
register-debug-point
deregister-debug-point
<debug-point-error>
application-running-on-code-entry?
application-running-on-code-entry?-setter
application-just-interacted?
application-just-interacted?-setter
interactor-deferred-id-table
- Example - simple function tracing
- Dylan Name Context
- Transactions on dylan values
- Printing and Inspecting Dylan Objects
- Mapping Between Symbolic Names and Objects
- Convenience Interfaces for Dylan Objects
- Debugger Transactions and Remote Object Registration
- Stack Backtracing
<application-stack-frame>
first-stack-frame
next-stack-frame
previous-stack-frame
<dylan-stack-frame-mixin>
<call-frame>
call-frame-description
call-frame-return-address
call-frame-frame-pointer
call-frame-nearest-source-locator
call-frame-aligned-at-source-locator?
call-frame-function
number-of-lexical-variables
active-dylan-lexical-variables
live-frame-lexical-variables
<dylan-call-frame>
dylan-call-frame?
<implementation-stack-frame>
<bind-exit-frame>
<unwind-protect-frame>
- Restarts
- Source-Level Stepping
- Mappings Between Addresses and Source Locators
- Foreign Code Debugging
- Runtime Context
- Profiling
- Controlling the Profiler Manager
- Extracting the data
<application-profile>
application-snapshot-skip
application-snapshots
application-profile-threads
<application-snapshot>
application-thread-snapshot
wall-time-increment
page-faults-increment
thread-snapshots
<thread-snapshot>
<instruction-pointers>
profile-thread
cpu-time-increment
allocation-increment
allocated-class
instruction-pointers
set-application-class-breakpoint
clear-application-class-breakpoint
clear-application-class-breakpoints
- Extension Interfaces
load-runtime-component
spy-function-definer
<c-spy-function-descriptor>
spy-function-runtime-name
spy-function-runtime-component
call-spy
call-spy-on-thread
<spy-call-error>
spy-call-function-descriptor
spy-call-debug-target
spy-call-arguments
<spy-function-not-located>
<spy-call-aborted>
<spy-call-no-available-thread>
<spy-call-cannot-use-thread>
spy-call-selected-thread