Module Debug_protocol
The Debug Adapter Protocol defines the protocol used between an editor or IDE and a debugger or runtime.
include module type of Debug_protocol__.Debug_protocol_types
module type JSONABLE = sig ... endmodule type EVENT = sig ... endmodule type COMMAND = sig ... endmodule Any = Debug_protocol__.Debug_protocol_types.Anymodule Empty_dict = Debug_protocol__.Debug_protocol_types.Empty_dictmodule Int_or_string = Debug_protocol__.Debug_protocol_types.Int_or_stringmodule Dict = Debug_protocol__.Debug_protocol_types.Dictmodule String_dict = Debug_protocol__.Debug_protocol_types.String_dictmodule String_opt_dict = Debug_protocol__.Debug_protocol_types.String_opt_dictmodule Protocol_message : sig ... endmodule Request : sig ... endmodule Event : sig ... endmodule Response : sig ... endmodule Message : sig ... endmodule Error_response : sig ... endmodule Exception_breakpoints_filter : sig ... endmodule Column_descriptor : sig ... endmodule Checksum_algorithm : sig ... endmodule Capabilities : sig ... endmodule Module : sig ... endmodule Modules_view_descriptor : sig ... endmodule Thread : sig ... endmodule Checksum : sig ... endmodule Source : sig ... endmodule Stack_frame : sig ... endmodule Scope : sig ... endmodule Variable_presentation_hint : sig ... endmodule Variable : sig ... endmodule Breakpoint_location : sig ... endmodule Source_breakpoint : sig ... endmodule Function_breakpoint : sig ... endmodule Data_breakpoint_access_type : sig ... endmodule Data_breakpoint : sig ... endmodule Instruction_breakpoint : sig ... endmodule Breakpoint : sig ... endmodule Stepping_granularity : sig ... endmodule Step_in_target : sig ... endmodule Goto_target : sig ... endmodule Completion_item_type : sig ... endmodule Completion_item : sig ... endmodule Value_format : sig ... endmodule Stack_frame_format : sig ... endmodule Exception_filter_options : sig ... endmodule Exception_path_segment : sig ... endmodule Exception_break_mode : sig ... endmodule Exception_options : sig ... endmodule Exception_details : sig ... endmodule Disassembled_instruction : sig ... endmodule Invalidated_areas : sig ... endmodule Initialized_event : sig ... endmodule Stopped_event : sig ... endmodule Continued_event : sig ... endmodule Exited_event : sig ... endmodule Terminated_event : sig ... endmodule Thread_event : sig ... endmodule Output_event : sig ... endmodule Breakpoint_event : sig ... endmodule Module_event : sig ... endmodule Loaded_source_event : sig ... endmodule Process_event : sig ... endmodule Capabilities_event : sig ... endmodule Progress_start_event : sig ... endmodule Progress_update_event : sig ... endmodule Progress_end_event : sig ... endmodule Invalidated_event : sig ... endmodule Cancel_command : sig ... endThe 'cancel' request is used by the frontend in two situations:
module Run_in_terminal_command : sig ... endThis optional request is sent from the debug adapter to the client to run a command in a terminal. 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.
module Initialize_command : sig ... endThe 'initialize' request is sent as the first request from the client to the debug adapter 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.
module Configuration_done_command : sig ... endThis optional request indicates that the client has finished initialization of the debug adapter. 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.
module Launch_command : sig ... endThis launch request is sent from the client to the debug adapter to start the debuggee with or without debugging (if 'noDebug' is true). Since launching is debugger/runtime specific, the arguments for this request are not part of this specification.
module Attach_command : sig ... endThe attach request is sent from the client to the debug adapter to attach to a debuggee that is already running. Since attaching is debugger/runtime specific, the arguments for this request are not part of this specification.
module Restart_command : sig ... endRestarts a debug session. Clients should only call this request if the capability 'supportsRestartRequest' is true. 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.
module Disconnect_command : sig ... endThe 'disconnect' request is sent from the client to the debug adapter in order to stop debugging. 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).
module Terminate_command : sig ... endThe 'terminate' request is sent from the client to the debug adapter in order to give the debuggee a chance for terminating itself. Clients should only call this request if the capability 'supportsTerminateRequest' is true.
module Breakpoint_locations_command : sig ... endThe 'breakpointLocations' request returns all possible locations for source breakpoints in a given range. Clients should only call this request if the capability 'supportsBreakpointLocationsRequest' is true.
module Set_breakpoints_command : sig ... endSets multiple breakpoints for a single source and clears all previous breakpoints in that source. To clear all breakpoint for a source, specify an empty array. When a breakpoint is hit, a 'stopped' event (with reason 'breakpoint') is generated.
module Set_function_breakpoints_command : sig ... endReplaces all existing function breakpoints with new function breakpoints. 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.
module Set_exception_breakpoints_command : sig ... endThe request configures the debuggers response to thrown exceptions. 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.
module Data_breakpoint_info_command : sig ... endObtains information on a possible data breakpoint that could be set on an expression or variable. Clients should only call this request if the capability 'supportsDataBreakpoints' is true.
module Set_data_breakpoints_command : sig ... endReplaces all existing data breakpoints with new data breakpoints. 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.
module Set_instruction_breakpoints_command : sig ... endReplaces all existing instruction breakpoints. Typically, instruction breakpoints would be set from a diassembly window. 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.
module Continue_command : sig ... endThe request starts the debuggee to run again.
module Next_command : sig ... endThe request starts the debuggee to run again for one step. The debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.
module Step_in_command : sig ... endThe request starts the debuggee to step into a function/method if possible. 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.
module Step_out_command : sig ... endThe request starts the debuggee to run again for one step. The debug adapter first sends the response and then a 'stopped' event (with reason 'step') after the step has completed.
module Step_back_command : sig ... endThe request starts the debuggee to run one step backwards. 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.
module Reverse_continue_command : sig ... endThe request starts the debuggee to run backward. Clients should only call this request if the capability 'supportsStepBack' is true.
module Restart_frame_command : sig ... endThe request restarts execution of the specified stackframe. 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.
module Goto_command : sig ... endThe request sets the location where the debuggee will continue to run. 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).
module Pause_command : sig ... endThe request suspends the debuggee. The debug adapter first sends the response and then a 'stopped' event (with reason 'pause') after the thread has been paused successfully.
module Stack_trace_command : sig ... endThe request returns a stacktrace from the current execution state of a given thread. A client can request all stack frames by omitting the startFrame and levels arguments. For performance conscious clients and if the debug adapter's 'supportsDelayedStackTraceLoading' capability is true, stack frames can be retrieved in a piecemeal way with the startFrame and levels arguments. The response of the stackTrace request may contain a totalFrames property that hints at the total number of frames in the stack. If a client needs this total number upfront, it can issue a request for a single (first) frame and depending on the value of totalFrames decide how to proceed. In any case a client should be prepared to receive less frames than requested, which is an indication that the end of the stack has been reached.
module Scopes_command : sig ... endThe request returns the variable scopes for a given stackframe ID.
module Variables_command : sig ... endRetrieves all child variables for the given variable reference. An optional filter can be used to limit the fetched children to either named or indexed children.
module Set_variable_command : sig ... endSet the variable with the given name in the variable container to a new value. Clients should only call this request if the capability 'supportsSetVariable' is true.
module Source_command : sig ... endThe request retrieves the source code for a given source reference.
module Threads_command : sig ... endThe request retrieves a list of all threads.
module Terminate_threads_command : sig ... endThe request terminates the threads with the given ids. Clients should only call this request if the capability 'supportsTerminateThreadsRequest' is true.
module Modules_command : sig ... endModules can be retrieved from the debug adapter with this request which can either return all modules or a range of modules to support paging. Clients should only call this request if the capability 'supportsModulesRequest' is true.
module Loaded_sources_command : sig ... endRetrieves the set of all sources currently loaded by the debugged process. Clients should only call this request if the capability 'supportsLoadedSourcesRequest' is true.
module Evaluate_command : sig ... endEvaluates the given expression in the context of the top most stack frame. The expression has access to any variables and arguments that are in scope.
module Set_expression_command : sig ... endEvaluates the given 'value' expression and assigns it to the 'expression' which must be a modifiable l-value. 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.
module Step_in_targets_command : sig ... endThis request retrieves the possible stepIn targets for the specified stack frame. 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.
module Goto_targets_command : sig ... endThis request retrieves the possible goto targets for the specified source location. These targets can be used in the 'goto' request. Clients should only call this request if the capability 'supportsGotoTargetsRequest' is true.
module Completions_command : sig ... endReturns a list of possible completions for a given caret position and text. Clients should only call this request if the capability 'supportsCompletionsRequest' is true.
module Exception_info_command : sig ... endRetrieves the details of the exception that caused this event to be raised. Clients should only call this request if the capability 'supportsExceptionInfoRequest' is true.
module Read_memory_command : sig ... endReads bytes from memory at the provided location. Clients should only call this request if the capability 'supportsReadMemoryRequest' is true.
module Disassemble_command : sig ... endDisassembles code stored at the provided location. Clients should only call this request if the capability 'supportsDisassembleRequest' is true.