public interface IDebugProtocolServer
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SCHEMA_VERSION
Version of Debug Protocol
|
Modifier and Type | Method and Description |
---|---|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
attach(java.util.Map<java.lang.String,java.lang.Object> args)
The attach request is sent from the client to the debug adapter to attach to
a debuggee that is already running.
|
default java.util.concurrent.CompletableFuture<BreakpointLocationsResponse> |
breakpointLocations(BreakpointLocationsArguments args)
The 'breakpointLocations' request returns all possible locations for source
breakpoints in a given range.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
cancel(CancelArguments args)
The 'cancel' request is used by the frontend in two situations:
to indicate that it is no longer interested in the result produced by a
specific request issued earlier
to cancel a progress sequence.
|
default java.util.concurrent.CompletableFuture<CompletionsResponse> |
completions(CompletionsArguments args)
Returns a list of possible completions for a given caret position and text.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
configurationDone(ConfigurationDoneArguments args)
This optional request indicates that the client has finished initialization
of the debug adapter.
|
default java.util.concurrent.CompletableFuture<ContinueResponse> |
continue_(ContinueArguments args)
The request starts the debuggee to run again.
|
default java.util.concurrent.CompletableFuture<DataBreakpointInfoResponse> |
dataBreakpointInfo(DataBreakpointInfoArguments args)
Obtains information on a possible data breakpoint that could be set on an
expression or variable.
|
default java.util.concurrent.CompletableFuture<DisassembleResponse> |
disassemble(DisassembleArguments args)
Disassembles code stored at the provided location.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
disconnect(DisconnectArguments args)
The 'disconnect' request is sent from the client to the debug adapter in
order to stop debugging.
|
default java.util.concurrent.CompletableFuture<EvaluateResponse> |
evaluate(EvaluateArguments args)
Evaluates the given expression in the context of the top most stack frame.
|
default java.util.concurrent.CompletableFuture<ExceptionInfoResponse> |
exceptionInfo(ExceptionInfoArguments args)
Retrieves the details of the exception that caused this event to be raised.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
goto_(GotoArguments args)
The request sets the location where the debuggee will continue to run.
|
default java.util.concurrent.CompletableFuture<GotoTargetsResponse> |
gotoTargets(GotoTargetsArguments args)
This request retrieves the possible goto targets for the specified source
location.
|
default java.util.concurrent.CompletableFuture<Capabilities> |
initialize(InitializeRequestArguments args)
The 'initialize' request is sent as the first request from the client to the
debug adapter
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
launch(java.util.Map<java.lang.String,java.lang.Object> args)
This launch request is sent from the client to the debug adapter to start the
debuggee with or without debugging (if 'noDebug' is true).
|
default java.util.concurrent.CompletableFuture<LoadedSourcesResponse> |
loadedSources(LoadedSourcesArguments args)
Retrieves the set of all sources currently loaded by the debugged process.
|
default java.util.concurrent.CompletableFuture<ModulesResponse> |
modules(ModulesArguments args)
Modules can be retrieved from the debug adapter with this request which can
either return all modules or a range of modules to support paging.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
next(NextArguments args)
The request starts the debuggee to run again for one step.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
pause(PauseArguments args)
The request suspends the debuggee.
|
default java.util.concurrent.CompletableFuture<ReadMemoryResponse> |
readMemory(ReadMemoryArguments args)
Reads bytes from memory at the provided location.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
restart(RestartArguments args)
Restarts a debug session.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
restartFrame(RestartFrameArguments args)
The request restarts execution of the specified stackframe.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
reverseContinue(ReverseContinueArguments args)
The request starts the debuggee to run backward.
|
default java.util.concurrent.CompletableFuture<RunInTerminalResponse> |
runInTerminal(RunInTerminalRequestArguments args)
This optional request is sent from the debug adapter to the client to run a
command in a terminal.
|
default java.util.concurrent.CompletableFuture<ScopesResponse> |
scopes(ScopesArguments args)
The request returns the variable scopes for a given stackframe ID.
|
default java.util.concurrent.CompletableFuture<SetBreakpointsResponse> |
setBreakpoints(SetBreakpointsArguments args)
Sets multiple breakpoints for a single source and clears all previous
breakpoints in that source.
|
default java.util.concurrent.CompletableFuture<SetDataBreakpointsResponse> |
setDataBreakpoints(SetDataBreakpointsArguments args)
Replaces all existing data breakpoints with new data breakpoints.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
setExceptionBreakpoints(SetExceptionBreakpointsArguments args)
The request configures the debuggers response to thrown exceptions.
|
default java.util.concurrent.CompletableFuture<SetExpressionResponse> |
setExpression(SetExpressionArguments args)
Evaluates the given 'value' expression and assigns it to the 'expression'
which must be a modifiable l-value.
|
default java.util.concurrent.CompletableFuture<SetFunctionBreakpointsResponse> |
setFunctionBreakpoints(SetFunctionBreakpointsArguments args)
Replaces all existing function breakpoints with new function breakpoints.
|
default java.util.concurrent.CompletableFuture<SetInstructionBreakpointsResponse> |
setInstructionBreakpoints(SetInstructionBreakpointsArguments args)
Replaces all existing instruction breakpoints.
|
default java.util.concurrent.CompletableFuture<SetVariableResponse> |
setVariable(SetVariableArguments args)
Set the variable with the given name in the variable container to a new
value.
|
default java.util.concurrent.CompletableFuture<SourceResponse> |
source(SourceArguments args)
The request retrieves the source code for a given source reference.
|
default java.util.concurrent.CompletableFuture<StackTraceResponse> |
stackTrace(StackTraceArguments args)
The request returns a stacktrace from the current execution state.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
stepBack(StepBackArguments args)
The request starts the debuggee to run one step backwards.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
stepIn(StepInArguments args)
The request starts the debuggee to step into a function/method if possible.
|
default java.util.concurrent.CompletableFuture<StepInTargetsResponse> |
stepInTargets(StepInTargetsArguments args)
This request retrieves the possible stepIn targets for the specified stack
frame.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
stepOut(StepOutArguments args)
The request starts the debuggee to run again for one step.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
terminate(TerminateArguments args)
The 'terminate' request is sent from the client to the debug adapter in order
to give the debuggee a chance for terminating itself.
|
default java.util.concurrent.CompletableFuture<java.lang.Void> |
terminateThreads(TerminateThreadsArguments args)
The request terminates the threads with the given ids.
|
default java.util.concurrent.CompletableFuture<ThreadsResponse> |
threads()
The request retrieves a list of all threads.
|
default java.util.concurrent.CompletableFuture<VariablesResponse> |
variables(VariablesArguments args)
Retrieves all child variables for the given variable reference.
|
static final java.lang.String SCHEMA_VERSION
default java.util.concurrent.CompletableFuture<java.lang.Void> cancel(CancelArguments args)
This request has a hint characteristic: a debug adapter can only be expected to make a 'best effort' in honouring this request but there are no guarantees.
The 'cancel' request may return an error if it could not cancel an operation but a frontend should refrain from presenting this error to end users.
A frontend client should only call this request if the capability 'supportsCancelRequest' is true.
The request that got canceled still needs to send a response back. This can either be a normal result ('success' attribute true)
or an error response ('success' attribute false and the 'message' set to 'cancelled').
Returning partial results from a cancelled request is possible but please note that a frontend client has no generic way for detecting that a response is partial or not.
The progress that got cancelled still needs to send a 'progressEnd' event back.
A client should not assume that progress just got cancelled after sending the 'cancel' request.
default java.util.concurrent.CompletableFuture<RunInTerminalResponse> runInTerminal(RunInTerminalRequestArguments args)
This is typically used to launch the debuggee in a terminal provided by the client.
This request should only be called if the client has passed the value true for the 'supportsRunInTerminalRequest' capability of the 'initialize' request.
default java.util.concurrent.CompletableFuture<Capabilities> initialize(InitializeRequestArguments args)
in order to configure it with client capabilities and to retrieve capabilities from the debug adapter.
Until the debug adapter has responded to with an 'initialize' response, the client must not send any additional requests or events to the debug adapter.
In addition the debug adapter is not allowed to send any requests or events to the client until it has responded with an 'initialize' response.
The 'initialize' request may only be sent once.
default java.util.concurrent.CompletableFuture<java.lang.Void> configurationDone(ConfigurationDoneArguments args)
So it is the last request in the sequence of configuration requests (which was started by the 'initialized' event).
Clients should only call this request if the capability 'supportsConfigurationDoneRequest' is true.
default java.util.concurrent.CompletableFuture<java.lang.Void> launch(java.util.Map<java.lang.String,java.lang.Object> args)
Since launching is debugger/runtime specific, the arguments for this request are not part of this specification.
default java.util.concurrent.CompletableFuture<java.lang.Void> attach(java.util.Map<java.lang.String,java.lang.Object> args)
Since attaching is debugger/runtime specific, the arguments for this request are not part of this specification.
default java.util.concurrent.CompletableFuture<java.lang.Void> restart(RestartArguments args)
If the capability is missing or has the value false, a typical client will emulate 'restart' by terminating the debug adapter first and then launching it anew.
default java.util.concurrent.CompletableFuture<java.lang.Void> disconnect(DisconnectArguments args)
It asks the debug adapter to disconnect from the debuggee and to terminate the debug adapter.
If the debuggee has been started with the 'launch' request, the 'disconnect' request terminates the debuggee.
If the 'attach' request was used to connect to the debuggee, 'disconnect' does not terminate the debuggee.
This behavior can be controlled with the 'terminateDebuggee' argument (if supported by the debug adapter).
default java.util.concurrent.CompletableFuture<java.lang.Void> terminate(TerminateArguments args)
Clients should only call this request if the capability 'supportsTerminateRequest' is true.
default java.util.concurrent.CompletableFuture<BreakpointLocationsResponse> breakpointLocations(BreakpointLocationsArguments args)
Clients should only call this request if the capability 'supportsBreakpointLocationsRequest' is true.
default java.util.concurrent.CompletableFuture<SetBreakpointsResponse> setBreakpoints(SetBreakpointsArguments args)
To clear all breakpoint for a source, specify an empty array.
When a breakpoint is hit, a 'stopped' event (with reason 'breakpoint') is generated.
default java.util.concurrent.CompletableFuture<SetFunctionBreakpointsResponse> setFunctionBreakpoints(SetFunctionBreakpointsArguments args)
To clear all function breakpoints, specify an empty array.
When a function breakpoint is hit, a 'stopped' event (with reason 'function breakpoint') is generated.
Clients should only call this request if the capability 'supportsFunctionBreakpoints' is true.
default java.util.concurrent.CompletableFuture<java.lang.Void> setExceptionBreakpoints(SetExceptionBreakpointsArguments args)
If an exception is configured to break, a 'stopped' event is fired (with reason 'exception').
Clients should only call this request if the capability 'exceptionBreakpointFilters' returns one or more filters.
default java.util.concurrent.CompletableFuture<DataBreakpointInfoResponse> dataBreakpointInfo(DataBreakpointInfoArguments args)
Clients should only call this request if the capability 'supportsDataBreakpoints' is true.
default java.util.concurrent.CompletableFuture<SetDataBreakpointsResponse> setDataBreakpoints(SetDataBreakpointsArguments args)
To clear all data breakpoints, specify an empty array.
When a data breakpoint is hit, a 'stopped' event (with reason 'data breakpoint') is generated.
Clients should only call this request if the capability 'supportsDataBreakpoints' is true.
default java.util.concurrent.CompletableFuture<SetInstructionBreakpointsResponse> setInstructionBreakpoints(SetInstructionBreakpointsArguments args)
To clear all instruction breakpoints, specify an empty array.
When an instruction breakpoint is hit, a 'stopped' event (with reason 'instruction breakpoint') is generated.
Clients should only call this request if the capability 'supportsInstructionBreakpoints' is true.
default java.util.concurrent.CompletableFuture<ContinueResponse> continue_(ContinueArguments args)
default java.util.concurrent.CompletableFuture<java.lang.Void> next(NextArguments args)
The debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.
default java.util.concurrent.CompletableFuture<java.lang.Void> stepIn(StepInArguments args)
If it cannot step into a target, 'stepIn' behaves like 'next'.
The debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.
If there are multiple function/method calls (or other targets) on the source line,
the optional argument 'targetId' can be used to control into which target the 'stepIn' should occur.
The list of possible targets for a given source line can be retrieved via the 'stepInTargets' request.
default java.util.concurrent.CompletableFuture<java.lang.Void> stepOut(StepOutArguments args)
The debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.
default java.util.concurrent.CompletableFuture<java.lang.Void> stepBack(StepBackArguments args)
The debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.
Clients should only call this request if the capability 'supportsStepBack' is true.
default java.util.concurrent.CompletableFuture<java.lang.Void> reverseContinue(ReverseContinueArguments args)
Clients should only call this request if the capability 'supportsStepBack' is true.
default java.util.concurrent.CompletableFuture<java.lang.Void> restartFrame(RestartFrameArguments args)
The debug adapter first sends the response and then a 'stopped' event (with reason 'restart') after the restart has completed.
Clients should only call this request if the capability 'supportsRestartFrame' is true.
default java.util.concurrent.CompletableFuture<java.lang.Void> goto_(GotoArguments args)
This makes it possible to skip the execution of code or to executed code again.
The code between the current location and the goto target is not executed but skipped.
The debug adapter first sends the response and then a 'stopped' event with reason 'goto'.
Clients should only call this request if the capability 'supportsGotoTargetsRequest' is true (because only then goto targets exist that can be passed as arguments).
default java.util.concurrent.CompletableFuture<java.lang.Void> pause(PauseArguments args)
The debug adapter first sends the response and then a 'stopped' event (with reason 'pause') after the thread has been paused successfully.
default java.util.concurrent.CompletableFuture<StackTraceResponse> stackTrace(StackTraceArguments args)
default java.util.concurrent.CompletableFuture<ScopesResponse> scopes(ScopesArguments args)
default java.util.concurrent.CompletableFuture<VariablesResponse> variables(VariablesArguments args)
An optional filter can be used to limit the fetched children to either named or indexed children.
default java.util.concurrent.CompletableFuture<SetVariableResponse> setVariable(SetVariableArguments args)
default java.util.concurrent.CompletableFuture<SourceResponse> source(SourceArguments args)
default java.util.concurrent.CompletableFuture<ThreadsResponse> threads()
default java.util.concurrent.CompletableFuture<java.lang.Void> terminateThreads(TerminateThreadsArguments args)
Clients should only call this request if the capability 'supportsTerminateThreadsRequest' is true.
default java.util.concurrent.CompletableFuture<ModulesResponse> modules(ModulesArguments args)
Clients should only call this request if the capability 'supportsModulesRequest' is true.
default java.util.concurrent.CompletableFuture<LoadedSourcesResponse> loadedSources(LoadedSourcesArguments args)
Clients should only call this request if the capability 'supportsLoadedSourcesRequest' is true.
default java.util.concurrent.CompletableFuture<EvaluateResponse> evaluate(EvaluateArguments args)
The expression has access to any variables and arguments that are in scope.
default java.util.concurrent.CompletableFuture<SetExpressionResponse> setExpression(SetExpressionArguments args)
The expressions have access to any variables and arguments that are in scope of the specified frame.
Clients should only call this request if the capability 'supportsSetExpression' is true.
default java.util.concurrent.CompletableFuture<StepInTargetsResponse> stepInTargets(StepInTargetsArguments args)
These targets can be used in the 'stepIn' request.
The StepInTargets may only be called if the 'supportsStepInTargetsRequest' capability exists and is true.
Clients should only call this request if the capability 'supportsStepInTargetsRequest' is true.
default java.util.concurrent.CompletableFuture<GotoTargetsResponse> gotoTargets(GotoTargetsArguments args)
These targets can be used in the 'goto' request.
Clients should only call this request if the capability 'supportsGotoTargetsRequest' is true.
default java.util.concurrent.CompletableFuture<CompletionsResponse> completions(CompletionsArguments args)
Clients should only call this request if the capability 'supportsCompletionsRequest' is true.
default java.util.concurrent.CompletableFuture<ExceptionInfoResponse> exceptionInfo(ExceptionInfoArguments args)
Clients should only call this request if the capability 'supportsExceptionInfoRequest' is true.
default java.util.concurrent.CompletableFuture<ReadMemoryResponse> readMemory(ReadMemoryArguments args)
Clients should only call this request if the capability 'supportsReadMemoryRequest' is true.
default java.util.concurrent.CompletableFuture<DisassembleResponse> disassemble(DisassembleArguments args)
Clients should only call this request if the capability 'supportsDisassembleRequest' is true.