See: Description
Interface | Description |
---|---|
Breakpoint.ResolveListener |
This listener is called when a breakpoint is resolved at the target location.
|
DebugContextsListener |
Listener to be notified about changes of contexts in guest language application.
|
DebugThreadsListener |
Listener to be notified about changes of threads in guest language application.
|
SuspendedCallback |
Class | Description |
---|---|
Breakpoint |
A request that guest language program execution be suspended at specified locations on behalf of
a debugging client session.
|
DebugContext |
Representation of a polyglot context in a guest language execution.
|
DebugException.CatchLocation |
Represents an exception catch location.
|
Debugger |
Class that simplifies implementing a debugger on top of Truffle.
|
DebuggerSession |
Represents a single debugging session of a Debugger.
|
DebuggerTags |
Set of debugger-specific tags.
|
DebugScope |
Representation of guest language scope at the current suspension point, or a top scope.
|
DebugStackFrame |
Represents a frame in the guest language stack.
|
DebugStackTraceElement |
Represents a trace element in the guest language stack trace.
|
DebugValue |
Represents a value accessed using the debugger API.
|
StepConfig |
Represents a debugger step configuration.
|
SuspendedEvent |
Access for
Debugger clients to the state of a guest language execution thread that has
been suspended, for example by a Breakpoint or stepping action. |
SuspensionFilter |
A filter to limit the suspension locations.
|
Enum | Description |
---|---|
Breakpoint.Kind |
Specifies a breakpoint kind.
|
SourceElement |
Representation of a guest language source syntax element, that is used for debugging purposes.
|
SuspendAnchor |
Describes where, within a guest language source section, the suspend position is.
|
Exception | Description |
---|---|
DebugException |
Information about an exception thrown from a guest language.
|
Debugger.find(com.oracle.truffle.api.TruffleLanguage.Env)
.
Next a debugger session needs to be started with
Debugger.startSession(SuspendedCallback)
providing a
callback
that will be invoked whenever the
execution is suspended. The debugger client can either
install
a breakpoint or
suspend
the current
or next execution. Whenever the execution is suspended and the
callback
is invoked the client can decide
step into, step out or step over the next statements. For a usage example please refer to
DebuggerSession
and
Breakpoint
.
debugging
is
language-agnostic. A language implementation
enables debugging by supplying extra information in every AST that configures debugger behavior
for code written in that particular language.
This extra information is expressed using so called tags. Tags can be applied to AST nodes by
implementing the InstrumentableNode.hasTag(Class)
method. The debugger requires the guest language to implement statement and call tags from the
set of standard Truffle tags. Please refer to
StandardTags
on how to implement them.