Documentation ¶
Index ¶
- type AmendBreakpointIn
- type AmendBreakpointOut
- type AncestorsIn
- type AncestorsOut
- type AttachedToExistingProcessIn
- type AttachedToExistingProcessOut
- type BuildIDIn
- type BuildIDOut
- type CancelNextIn
- type CancelNextOut
- type CheckpointIn
- type CheckpointOut
- type ClearBreakpointIn
- type ClearBreakpointOut
- type ClearCheckpointIn
- type ClearCheckpointOut
- type CommandOut
- type CreateBreakpointIn
- type CreateBreakpointOut
- type CreateEBPFTracepointIn
- type CreateEBPFTracepointOut
- type CreateWatchpointIn
- type CreateWatchpointOut
- type DebugInfoDirectoriesIn
- type DebugInfoDirectoriesOut
- type DetachIn
- type DetachOut
- type DisassembleIn
- type DisassembleOut
- type DumpCancelIn
- type DumpCancelOut
- type DumpStartIn
- type DumpStartOut
- type DumpWaitIn
- type DumpWaitOut
- type EvalIn
- type EvalOut
- type ExamineMemoryIn
- type ExaminedMemoryOut
- type FindLocationIn
- type FindLocationOut
- type FollowExecEnabledIn
- type FollowExecEnabledOut
- type FollowExecIn
- type FollowExecOut
- type FunctionReturnLocationsIn
- type FunctionReturnLocationsOut
- type GetBreakpointIn
- type GetBreakpointOut
- type GetBufferedTracepointsIn
- type GetBufferedTracepointsOut
- type GetThreadIn
- type GetThreadOut
- type IsMulticlientIn
- type IsMulticlientOut
- type LastModifiedIn
- type LastModifiedOut
- type ListBreakpointsIn
- type ListBreakpointsOut
- type ListCheckpointsIn
- type ListCheckpointsOut
- type ListDynamicLibrariesIn
- type ListDynamicLibrariesOut
- type ListFunctionArgsIn
- type ListFunctionArgsOut
- type ListFunctionsIn
- type ListFunctionsOut
- type ListGoroutinesIn
- type ListGoroutinesOut
- type ListLocalVarsIn
- type ListLocalVarsOut
- type ListPackageVarsIn
- type ListPackageVarsOut
- type ListPackagesBuildInfoIn
- type ListPackagesBuildInfoOut
- type ListRegistersIn
- type ListRegistersOut
- type ListSourcesIn
- type ListSourcesOut
- type ListTargetsIn
- type ListTargetsOut
- type ListThreadsIn
- type ListThreadsOut
- type ListTypesIn
- type ListTypesOut
- type ProcessPidIn
- type ProcessPidOut
- type RPCClient
- func (c *RPCClient) AmendBreakpoint(bp *api.Breakpoint) error
- func (c *RPCClient) Ancestors(goroutineID int64, numAncestors int, depth int) ([]api.Ancestor, error)
- func (c *RPCClient) AttachedToExistingProcess() bool
- func (c *RPCClient) BuildID() string
- func (c *RPCClient) Call(goroutineID int64, expr string, unsafe bool) (*api.DebuggerState, error)
- func (c *RPCClient) CallAPI(method string, args, reply interface{}) error
- func (c *RPCClient) CancelNext() error
- func (c *RPCClient) Checkpoint(where string) (checkpointID int, err error)
- func (c *RPCClient) ClearBreakpoint(id int) (*api.Breakpoint, error)
- func (c *RPCClient) ClearBreakpointByName(name string) (*api.Breakpoint, error)
- func (c *RPCClient) ClearCheckpoint(id int) error
- func (c *RPCClient) Continue() <-chan *api.DebuggerState
- func (c *RPCClient) CoreDumpCancel() error
- func (c *RPCClient) CoreDumpStart(dest string) (api.DumpState, error)
- func (c *RPCClient) CoreDumpWait(msec int) api.DumpState
- func (c *RPCClient) CreateBreakpoint(breakPoint *api.Breakpoint) (*api.Breakpoint, error)
- func (c *RPCClient) CreateBreakpointWithExpr(breakPoint *api.Breakpoint, locExpr string, substitutePathRules [][2]string, ...) (*api.Breakpoint, error)
- func (c *RPCClient) CreateEBPFTracepoint(fnName string) error
- func (c *RPCClient) CreateWatchpoint(scope api.EvalScope, expr string, wtype api.WatchType) (*api.Breakpoint, error)
- func (c *RPCClient) Detach(kill bool) error
- func (c *RPCClient) DirectionCongruentContinue() <-chan *api.DebuggerState
- func (c *RPCClient) DisassemblePC(scope api.EvalScope, pc uint64, flavour api.AssemblyFlavour) (api.AsmInstructions, error)
- func (c *RPCClient) DisassembleRange(scope api.EvalScope, startPC, endPC uint64, flavour api.AssemblyFlavour) (api.AsmInstructions, error)
- func (c *RPCClient) Disconnect(cont bool) error
- func (c *RPCClient) EvalVariable(scope api.EvalScope, expr string, cfg api.LoadConfig) (*api.Variable, error)
- func (c *RPCClient) ExamineMemory(address uint64, count int) ([]byte, bool, error)
- func (c *RPCClient) FindLocation(scope api.EvalScope, loc string, findInstructions bool, ...) ([]api.Location, string, error)
- func (c *RPCClient) FollowExec(v bool, regex string) error
- func (c *RPCClient) FollowExecEnabled() bool
- func (c *RPCClient) FunctionReturnLocations(fnName string) ([]uint64, error)
- func (c *RPCClient) GetBreakpoint(id int) (*api.Breakpoint, error)
- func (c *RPCClient) GetBreakpointByName(name string) (*api.Breakpoint, error)
- func (c *RPCClient) GetBufferedTracepoints() ([]api.TracepointResult, error)
- func (c *RPCClient) GetDebugInfoDirectories() ([]string, error)
- func (c *RPCClient) GetState() (*api.DebuggerState, error)
- func (c *RPCClient) GetStateNonBlocking() (*api.DebuggerState, error)
- func (c *RPCClient) GetThread(id int) (*api.Thread, error)
- func (c *RPCClient) Halt() (*api.DebuggerState, error)
- func (c *RPCClient) IsMulticlient() bool
- func (c *RPCClient) LastModified() time.Time
- func (c *RPCClient) ListBreakpoints(all bool) ([]*api.Breakpoint, error)
- func (c *RPCClient) ListCheckpoints() ([]api.Checkpoint, error)
- func (c *RPCClient) ListDynamicLibraries() ([]api.Image, error)
- func (c *RPCClient) ListFunctionArgs(scope api.EvalScope, cfg api.LoadConfig) ([]api.Variable, error)
- func (c *RPCClient) ListFunctions(filter string) ([]string, error)
- func (c *RPCClient) ListGoroutines(start, count int) ([]*api.Goroutine, int, error)
- func (c *RPCClient) ListGoroutinesWithFilter(start, count int, filters []api.ListGoroutinesFilter, ...) ([]*api.Goroutine, []api.GoroutineGroup, int, bool, error)
- func (c *RPCClient) ListLocalVariables(scope api.EvalScope, cfg api.LoadConfig) ([]api.Variable, error)
- func (c *RPCClient) ListPackageVariables(filter string, cfg api.LoadConfig) ([]api.Variable, error)
- func (c *RPCClient) ListPackagesBuildInfo(filter string, includeFiles bool) ([]api.PackageBuildInfo, error)
- func (c *RPCClient) ListScopeRegisters(scope api.EvalScope, includeFp bool) (api.Registers, error)
- func (c *RPCClient) ListSources(filter string) ([]string, error)
- func (c *RPCClient) ListTargets() ([]api.Target, error)
- func (c *RPCClient) ListThreadRegisters(threadID int, includeFp bool) (api.Registers, error)
- func (c *RPCClient) ListThreads() ([]*api.Thread, error)
- func (c *RPCClient) ListTypes(filter string) ([]string, error)
- func (c *RPCClient) Next() (*api.DebuggerState, error)
- func (c *RPCClient) ProcessPid() int
- func (c *RPCClient) Recorded() bool
- func (c *RPCClient) Restart(rebuild bool) ([]api.DiscardedBreakpoint, error)
- func (c *RPCClient) RestartFrom(rerecord bool, pos string, resetArgs bool, newArgs []string, ...) ([]api.DiscardedBreakpoint, error)
- func (c *RPCClient) ReverseNext() (*api.DebuggerState, error)
- func (c *RPCClient) ReverseStep() (*api.DebuggerState, error)
- func (c *RPCClient) ReverseStepInstruction(skipCalls bool) (*api.DebuggerState, error)
- func (c *RPCClient) ReverseStepOut() (*api.DebuggerState, error)
- func (c *RPCClient) Rewind() <-chan *api.DebuggerState
- func (c *RPCClient) SetDebugInfoDirectories(v []string) error
- func (c *RPCClient) SetReturnValuesLoadConfig(cfg *api.LoadConfig)
- func (c *RPCClient) SetVariable(scope api.EvalScope, symbol, value string) error
- func (c *RPCClient) Stacktrace(goroutineId int64, depth int, opts api.StacktraceOptions, cfg *api.LoadConfig) ([]api.Stackframe, error)
- func (c *RPCClient) Step() (*api.DebuggerState, error)
- func (c *RPCClient) StepInstruction(skipCalls bool) (*api.DebuggerState, error)
- func (c *RPCClient) StepOut() (*api.DebuggerState, error)
- func (c *RPCClient) StopRecording() error
- func (c *RPCClient) SwitchGoroutine(goroutineID int64) (*api.DebuggerState, error)
- func (c *RPCClient) SwitchThread(threadID int) (*api.DebuggerState, error)
- func (c *RPCClient) ToggleBreakpoint(id int) (*api.Breakpoint, error)
- func (c *RPCClient) ToggleBreakpointByName(name string) (*api.Breakpoint, error)
- func (c *RPCClient) TraceDirectory() (string, error)
- type RPCServer
- func (s *RPCServer) AmendBreakpoint(arg AmendBreakpointIn, out *AmendBreakpointOut) error
- func (s *RPCServer) Ancestors(arg AncestorsIn, out *AncestorsOut) error
- func (s *RPCServer) AttachedToExistingProcess(arg AttachedToExistingProcessIn, out *AttachedToExistingProcessOut) error
- func (s *RPCServer) BuildID(arg BuildIDIn, out *BuildIDOut) error
- func (s *RPCServer) CancelNext(arg CancelNextIn, out *CancelNextOut) error
- func (s *RPCServer) Checkpoint(arg CheckpointIn, out *CheckpointOut) error
- func (s *RPCServer) ClearBreakpoint(arg ClearBreakpointIn, out *ClearBreakpointOut) error
- func (s *RPCServer) ClearCheckpoint(arg ClearCheckpointIn, out *ClearCheckpointOut) error
- func (s *RPCServer) Command(command api.DebuggerCommand, cb service.RPCCallback)
- func (s *RPCServer) CreateBreakpoint(arg CreateBreakpointIn, out *CreateBreakpointOut) error
- func (s *RPCServer) CreateEBPFTracepoint(arg CreateEBPFTracepointIn, out *CreateEBPFTracepointOut) error
- func (s *RPCServer) CreateWatchpoint(arg CreateWatchpointIn, out *CreateWatchpointOut) error
- func (s *RPCServer) DebugInfoDirectories(arg DebugInfoDirectoriesIn, out *DebugInfoDirectoriesOut) error
- func (s *RPCServer) Detach(arg DetachIn, out *DetachOut) error
- func (s *RPCServer) Disassemble(arg DisassembleIn, out *DisassembleOut) error
- func (s *RPCServer) DumpCancel(arg DumpCancelIn, out *DumpCancelOut) error
- func (s *RPCServer) DumpStart(arg DumpStartIn, out *DumpStartOut) error
- func (s *RPCServer) DumpWait(arg DumpWaitIn, out *DumpWaitOut) error
- func (s *RPCServer) Eval(arg EvalIn, out *EvalOut) error
- func (s *RPCServer) ExamineMemory(arg ExamineMemoryIn, out *ExaminedMemoryOut) error
- func (s *RPCServer) FindLocation(arg FindLocationIn, out *FindLocationOut) error
- func (s *RPCServer) FollowExec(arg FollowExecIn, out *FollowExecOut) error
- func (s *RPCServer) FollowExecEnabled(arg FollowExecEnabledIn, out *FollowExecEnabledOut) error
- func (s *RPCServer) FunctionReturnLocations(in FunctionReturnLocationsIn, out *FunctionReturnLocationsOut) error
- func (s *RPCServer) GetBreakpoint(arg GetBreakpointIn, out *GetBreakpointOut) error
- func (s *RPCServer) GetBufferedTracepoints(arg GetBufferedTracepointsIn, out *GetBufferedTracepointsOut) error
- func (s *RPCServer) GetThread(arg GetThreadIn, out *GetThreadOut) error
- func (s *RPCServer) IsMulticlient(arg IsMulticlientIn, out *IsMulticlientOut) error
- func (s *RPCServer) LastModified(arg LastModifiedIn, out *LastModifiedOut) error
- func (s *RPCServer) ListBreakpoints(arg ListBreakpointsIn, out *ListBreakpointsOut) error
- func (s *RPCServer) ListCheckpoints(arg ListCheckpointsIn, out *ListCheckpointsOut) error
- func (s *RPCServer) ListDynamicLibraries(in ListDynamicLibrariesIn, out *ListDynamicLibrariesOut) error
- func (s *RPCServer) ListFunctionArgs(arg ListFunctionArgsIn, out *ListFunctionArgsOut) error
- func (s *RPCServer) ListFunctions(arg ListFunctionsIn, out *ListFunctionsOut) error
- func (s *RPCServer) ListGoroutines(arg ListGoroutinesIn, out *ListGoroutinesOut) error
- func (s *RPCServer) ListLocalVars(arg ListLocalVarsIn, out *ListLocalVarsOut) error
- func (s *RPCServer) ListPackageVars(arg ListPackageVarsIn, out *ListPackageVarsOut) error
- func (s *RPCServer) ListPackagesBuildInfo(in ListPackagesBuildInfoIn, out *ListPackagesBuildInfoOut) error
- func (s *RPCServer) ListRegisters(arg ListRegistersIn, out *ListRegistersOut) error
- func (s *RPCServer) ListSources(arg ListSourcesIn, out *ListSourcesOut) error
- func (s *RPCServer) ListTargets(arg ListTargetsIn, out *ListTargetsOut) error
- func (s *RPCServer) ListThreads(arg ListThreadsIn, out *ListThreadsOut) (err error)
- func (s *RPCServer) ListTypes(arg ListTypesIn, out *ListTypesOut) error
- func (s *RPCServer) ProcessPid(arg ProcessPidIn, out *ProcessPidOut) error
- func (s *RPCServer) Recorded(arg RecordedIn, out *RecordedOut) error
- func (s *RPCServer) Restart(arg RestartIn, cb service.RPCCallback)
- func (s *RPCServer) Set(arg SetIn, out *SetOut) error
- func (s *RPCServer) Stacktrace(arg StacktraceIn, out *StacktraceOut) error
- func (s *RPCServer) State(arg StateIn, cb service.RPCCallback)
- func (s *RPCServer) StopRecording(arg StopRecordingIn, cb service.RPCCallback)
- func (s *RPCServer) ToggleBreakpoint(arg ToggleBreakpointIn, out *ToggleBreakpointOut) error
- type RecordedIn
- type RecordedOut
- type RestartIn
- type RestartOut
- type SetIn
- type SetOut
- type StacktraceIn
- type StacktraceOut
- type StateIn
- type StateOut
- type StopRecordingIn
- type StopRecordingOut
- type ToggleBreakpointIn
- type ToggleBreakpointOut
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AmendBreakpointIn ¶
type AmendBreakpointIn struct {
Breakpoint api.Breakpoint
}
type AmendBreakpointOut ¶
type AmendBreakpointOut struct { }
type AncestorsIn ¶
type AncestorsOut ¶
type AttachedToExistingProcessIn ¶
type AttachedToExistingProcessIn struct { }
type AttachedToExistingProcessOut ¶
type AttachedToExistingProcessOut struct {
Answer bool
}
type BuildIDOut ¶
type BuildIDOut struct {
BuildID string
}
type CancelNextIn ¶
type CancelNextIn struct { }
type CancelNextOut ¶
type CancelNextOut struct { }
type CheckpointIn ¶
type CheckpointIn struct {
Where string
}
type CheckpointOut ¶
type CheckpointOut struct {
ID int
}
type ClearBreakpointIn ¶
type ClearBreakpointOut ¶
type ClearBreakpointOut struct {
Breakpoint *api.Breakpoint
}
type ClearCheckpointIn ¶
type ClearCheckpointIn struct {
ID int
}
type ClearCheckpointOut ¶
type ClearCheckpointOut struct { }
type CommandOut ¶
type CommandOut struct {
State api.DebuggerState
}
type CreateBreakpointIn ¶
type CreateBreakpointIn struct { Breakpoint api.Breakpoint LocExpr string SubstitutePathRules [][2]string Suspended bool }
type CreateBreakpointOut ¶
type CreateBreakpointOut struct {
Breakpoint api.Breakpoint
}
type CreateEBPFTracepointIn ¶
type CreateEBPFTracepointIn struct {
FunctionName string
}
type CreateEBPFTracepointOut ¶
type CreateEBPFTracepointOut struct {
Breakpoint api.Breakpoint
}
type CreateWatchpointIn ¶
type CreateWatchpointOut ¶
type CreateWatchpointOut struct {
*api.Breakpoint
}
type DebugInfoDirectoriesIn ¶
type DebugInfoDirectoriesOut ¶
type DebugInfoDirectoriesOut struct {
List []string
}
type DisassembleIn ¶
type DisassembleIn struct { Scope api.EvalScope StartPC, EndPC uint64 Flavour api.AssemblyFlavour }
type DisassembleOut ¶
type DisassembleOut struct {
Disassemble api.AsmInstructions
}
type DumpCancelIn ¶
type DumpCancelIn struct { }
type DumpCancelOut ¶
type DumpCancelOut struct { }
type DumpStartIn ¶
type DumpStartIn struct {
Destination string
}
type DumpStartOut ¶
type DumpWaitIn ¶
type DumpWaitIn struct {
Wait int
}
type DumpWaitOut ¶
type ExamineMemoryIn ¶
ExamineMemoryIn holds the arguments of ExamineMemory
type ExaminedMemoryOut ¶
ExaminedMemoryOut holds the return values of ExamineMemory
type FindLocationIn ¶
type FindLocationIn struct { Scope api.EvalScope Loc string IncludeNonExecutableLines bool // SubstitutePathRules is a slice of source code path substitution rules, // the first entry of each pair is the path of a directory as it appears in // the executable file (i.e. the location of a source file when the program // was compiled), the second entry of each pair is the location of the same // directory on the client system. SubstitutePathRules [][2]string }
type FindLocationOut ¶
type FollowExecEnabledIn ¶
type FollowExecEnabledIn struct { }
type FollowExecEnabledOut ¶
type FollowExecEnabledOut struct {
Enabled bool
}
type FollowExecIn ¶
type FollowExecOut ¶
type FollowExecOut struct { }
type FunctionReturnLocationsIn ¶
type FunctionReturnLocationsIn struct { // FnName is the name of the function for which all // return locations should be given. FnName string }
FunctionReturnLocationsIn holds arguments for the FunctionReturnLocationsRPC call. It holds the name of the function for which all return locations should be given.
type FunctionReturnLocationsOut ¶
type FunctionReturnLocationsOut struct { // Addrs is the list of all locations where the given function returns. Addrs []uint64 }
FunctionReturnLocationsOut holds the result of the FunctionReturnLocations RPC call. It provides the list of addresses that the given function returns, for example with a `RET` instruction or `CALL runtime.deferreturn`.
type GetBreakpointIn ¶
type GetBreakpointOut ¶
type GetBreakpointOut struct {
Breakpoint api.Breakpoint
}
type GetBufferedTracepointsIn ¶
type GetBufferedTracepointsIn struct { }
type GetBufferedTracepointsOut ¶
type GetBufferedTracepointsOut struct {
TracepointResults []api.TracepointResult
}
type GetThreadIn ¶
type GetThreadIn struct {
Id int
}
type GetThreadOut ¶
type IsMulticlientIn ¶
type IsMulticlientIn struct { }
type IsMulticlientOut ¶
type IsMulticlientOut struct { // IsMulticlient returns true if the headless instance was started with --accept-multiclient IsMulticlient bool }
type LastModifiedIn ¶
type LastModifiedIn struct { }
type LastModifiedOut ¶
type ListBreakpointsIn ¶
type ListBreakpointsIn struct {
All bool
}
type ListBreakpointsOut ¶
type ListBreakpointsOut struct {
Breakpoints []*api.Breakpoint
}
type ListCheckpointsIn ¶
type ListCheckpointsIn struct { }
type ListCheckpointsOut ¶
type ListCheckpointsOut struct {
Checkpoints []api.Checkpoint
}
type ListDynamicLibrariesIn ¶
type ListDynamicLibrariesIn struct { }
ListDynamicLibrariesIn holds the arguments of ListDynamicLibraries
type ListDynamicLibrariesOut ¶
ListDynamicLibrariesOut holds the return values of ListDynamicLibraries
type ListFunctionArgsIn ¶
type ListFunctionArgsIn struct { Scope api.EvalScope Cfg api.LoadConfig }
type ListFunctionArgsOut ¶
type ListFunctionsIn ¶
type ListFunctionsIn struct {
Filter string
}
type ListFunctionsOut ¶
type ListFunctionsOut struct {
Funcs []string
}
type ListGoroutinesIn ¶
type ListGoroutinesIn struct { Start int Count int Filters []api.ListGoroutinesFilter api.GoroutineGroupingOptions EvalScope *api.EvalScope }
type ListGoroutinesOut ¶
type ListLocalVarsIn ¶
type ListLocalVarsIn struct { Scope api.EvalScope Cfg api.LoadConfig }
type ListLocalVarsOut ¶
type ListPackageVarsIn ¶
type ListPackageVarsIn struct { Filter string Cfg api.LoadConfig }
type ListPackageVarsOut ¶
type ListPackagesBuildInfoIn ¶
type ListPackagesBuildInfoIn struct { IncludeFiles bool Filter string // if not empty, returns only packages matching the regexp. }
ListPackagesBuildInfoIn holds the arguments of ListPackagesBuildInfo.
type ListPackagesBuildInfoOut ¶
type ListPackagesBuildInfoOut struct {
List []api.PackageBuildInfo
}
ListPackagesBuildInfoOut holds the return values of ListPackagesBuildInfo.
type ListRegistersIn ¶
type ListRegistersOut ¶
type ListSourcesIn ¶
type ListSourcesIn struct {
Filter string
}
type ListSourcesOut ¶
type ListSourcesOut struct {
Sources []string
}
type ListTargetsIn ¶
type ListTargetsIn struct { }
type ListTargetsOut ¶
type ListThreadsIn ¶
type ListThreadsIn struct { }
type ListThreadsOut ¶
type ListTypesIn ¶
type ListTypesIn struct {
Filter string
}
type ListTypesOut ¶
type ListTypesOut struct {
Types []string
}
type ProcessPidIn ¶
type ProcessPidIn struct { }
type ProcessPidOut ¶
type ProcessPidOut struct {
Pid int
}
type RPCClient ¶
type RPCClient struct {
// contains filtered or unexported fields
}
RPCClient is a RPC service.Client.
func NewClientFromConn ¶
NewClientFromConn creates a new RPCClient from the given connection.
func (*RPCClient) AmendBreakpoint ¶
func (c *RPCClient) AmendBreakpoint(bp *api.Breakpoint) error
func (*RPCClient) AttachedToExistingProcess ¶
func (*RPCClient) CancelNext ¶
func (*RPCClient) Checkpoint ¶
Checkpoint sets a checkpoint at the current position.
func (*RPCClient) ClearBreakpoint ¶
func (c *RPCClient) ClearBreakpoint(id int) (*api.Breakpoint, error)
func (*RPCClient) ClearBreakpointByName ¶
func (c *RPCClient) ClearBreakpointByName(name string) (*api.Breakpoint, error)
func (*RPCClient) ClearCheckpoint ¶
ClearCheckpoint removes a checkpoint
func (*RPCClient) Continue ¶
func (c *RPCClient) Continue() <-chan *api.DebuggerState
func (*RPCClient) CoreDumpCancel ¶
func (*RPCClient) CoreDumpStart ¶
func (*RPCClient) CreateBreakpoint ¶
func (c *RPCClient) CreateBreakpoint(breakPoint *api.Breakpoint) (*api.Breakpoint, error)
CreateBreakpoint will send a request to the RPC server to create a breakpoint. Please refer to the documentation for `Debugger.CreateBreakpoint` for a description of how the requested breakpoint parameters are interpreted and used: https://pkg.go.dev/github.com/mihailkirov/delve/service/debugger#Debugger.CreateBreakpoint
func (*RPCClient) CreateBreakpointWithExpr ¶
func (c *RPCClient) CreateBreakpointWithExpr(breakPoint *api.Breakpoint, locExpr string, substitutePathRules [][2]string, suspended bool) (*api.Breakpoint, error)
CreateBreakpointWithExpr is like CreateBreakpoint but will also set a location expression to be used to restore the breakpoint after it is disabled.
func (*RPCClient) CreateEBPFTracepoint ¶
func (*RPCClient) CreateWatchpoint ¶
func (*RPCClient) DirectionCongruentContinue ¶
func (c *RPCClient) DirectionCongruentContinue() <-chan *api.DebuggerState
func (*RPCClient) DisassemblePC ¶
func (c *RPCClient) DisassemblePC(scope api.EvalScope, pc uint64, flavour api.AssemblyFlavour) (api.AsmInstructions, error)
DisassemblePC disassembles function containing pc
func (*RPCClient) DisassembleRange ¶
func (c *RPCClient) DisassembleRange(scope api.EvalScope, startPC, endPC uint64, flavour api.AssemblyFlavour) (api.AsmInstructions, error)
DisassembleRange disassembles code between startPC and endPC
func (*RPCClient) Disconnect ¶
func (*RPCClient) EvalVariable ¶
func (*RPCClient) ExamineMemory ¶
func (*RPCClient) FindLocation ¶
func (*RPCClient) FollowExec ¶
FollowExec enabled or disabled follow exec mode. When follow exec is enabled Delve will automatically attach to new subprocesses with a command line matched by regex, if regex is nil all new subprocesses are automatically debugged.
func (*RPCClient) FollowExecEnabled ¶
FollowExecEnabled returns true if follow exec mode is enabled.
func (*RPCClient) FunctionReturnLocations ¶
func (*RPCClient) GetBreakpoint ¶
func (c *RPCClient) GetBreakpoint(id int) (*api.Breakpoint, error)
func (*RPCClient) GetBreakpointByName ¶
func (c *RPCClient) GetBreakpointByName(name string) (*api.Breakpoint, error)
func (*RPCClient) GetBufferedTracepoints ¶
func (c *RPCClient) GetBufferedTracepoints() ([]api.TracepointResult, error)
func (*RPCClient) GetDebugInfoDirectories ¶
func (*RPCClient) GetStateNonBlocking ¶
func (c *RPCClient) GetStateNonBlocking() (*api.DebuggerState, error)
func (*RPCClient) IsMulticlient ¶
func (*RPCClient) LastModified ¶
func (*RPCClient) ListBreakpoints ¶
func (c *RPCClient) ListBreakpoints(all bool) ([]*api.Breakpoint, error)
func (*RPCClient) ListCheckpoints ¶
func (c *RPCClient) ListCheckpoints() ([]api.Checkpoint, error)
ListCheckpoints gets all checkpoints.
func (*RPCClient) ListDynamicLibraries ¶
func (*RPCClient) ListFunctionArgs ¶
func (*RPCClient) ListFunctions ¶
func (*RPCClient) ListGoroutines ¶
func (*RPCClient) ListGoroutinesWithFilter ¶
func (c *RPCClient) ListGoroutinesWithFilter(start, count int, filters []api.ListGoroutinesFilter, group *api.GoroutineGroupingOptions, scope *api.EvalScope) ([]*api.Goroutine, []api.GoroutineGroup, int, bool, error)
func (*RPCClient) ListLocalVariables ¶
func (*RPCClient) ListPackageVariables ¶
func (*RPCClient) ListPackagesBuildInfo ¶
func (*RPCClient) ListScopeRegisters ¶
func (*RPCClient) ListTargets ¶
ListTargets returns the current list of debug targets.
func (*RPCClient) ListThreadRegisters ¶
func (*RPCClient) ProcessPid ¶
func (*RPCClient) Restart ¶
func (c *RPCClient) Restart(rebuild bool) ([]api.DiscardedBreakpoint, error)
func (*RPCClient) RestartFrom ¶
func (*RPCClient) ReverseNext ¶
func (c *RPCClient) ReverseNext() (*api.DebuggerState, error)
func (*RPCClient) ReverseStep ¶
func (c *RPCClient) ReverseStep() (*api.DebuggerState, error)
func (*RPCClient) ReverseStepInstruction ¶
func (c *RPCClient) ReverseStepInstruction(skipCalls bool) (*api.DebuggerState, error)
func (*RPCClient) ReverseStepOut ¶
func (c *RPCClient) ReverseStepOut() (*api.DebuggerState, error)
func (*RPCClient) Rewind ¶
func (c *RPCClient) Rewind() <-chan *api.DebuggerState
func (*RPCClient) SetDebugInfoDirectories ¶
func (*RPCClient) SetReturnValuesLoadConfig ¶
func (c *RPCClient) SetReturnValuesLoadConfig(cfg *api.LoadConfig)
func (*RPCClient) SetVariable ¶
func (*RPCClient) Stacktrace ¶
func (c *RPCClient) Stacktrace(goroutineId int64, depth int, opts api.StacktraceOptions, cfg *api.LoadConfig) ([]api.Stackframe, error)
func (*RPCClient) StepInstruction ¶
func (c *RPCClient) StepInstruction(skipCalls bool) (*api.DebuggerState, error)
func (*RPCClient) StopRecording ¶
func (*RPCClient) SwitchGoroutine ¶
func (c *RPCClient) SwitchGoroutine(goroutineID int64) (*api.DebuggerState, error)
func (*RPCClient) SwitchThread ¶
func (c *RPCClient) SwitchThread(threadID int) (*api.DebuggerState, error)
func (*RPCClient) ToggleBreakpoint ¶
func (c *RPCClient) ToggleBreakpoint(id int) (*api.Breakpoint, error)
func (*RPCClient) ToggleBreakpointByName ¶
func (c *RPCClient) ToggleBreakpointByName(name string) (*api.Breakpoint, error)
func (*RPCClient) TraceDirectory ¶
TraceDirectory returns the path to the trace directory for a recording.
type RPCServer ¶
type RPCServer struct {
// contains filtered or unexported fields
}
func (*RPCServer) AmendBreakpoint ¶
func (s *RPCServer) AmendBreakpoint(arg AmendBreakpointIn, out *AmendBreakpointOut) error
AmendBreakpoint allows user to update an existing breakpoint for example to change the information retrieved when the breakpoint is hit or to change, add or remove the break condition.
arg.Breakpoint.ID must be a valid breakpoint ID
func (*RPCServer) Ancestors ¶
func (s *RPCServer) Ancestors(arg AncestorsIn, out *AncestorsOut) error
Ancestors returns the stacktraces for the ancestors of a goroutine.
func (*RPCServer) AttachedToExistingProcess ¶
func (s *RPCServer) AttachedToExistingProcess(arg AttachedToExistingProcessIn, out *AttachedToExistingProcessOut) error
AttachedToExistingProcess returns whether we attached to a running process or not
func (*RPCServer) CancelNext ¶
func (s *RPCServer) CancelNext(arg CancelNextIn, out *CancelNextOut) error
func (*RPCServer) Checkpoint ¶
func (s *RPCServer) Checkpoint(arg CheckpointIn, out *CheckpointOut) error
func (*RPCServer) ClearBreakpoint ¶
func (s *RPCServer) ClearBreakpoint(arg ClearBreakpointIn, out *ClearBreakpointOut) error
ClearBreakpoint deletes a breakpoint by Name (if Name is not an empty string) or by ID.
func (*RPCServer) ClearCheckpoint ¶
func (s *RPCServer) ClearCheckpoint(arg ClearCheckpointIn, out *ClearCheckpointOut) error
func (*RPCServer) Command ¶
func (s *RPCServer) Command(command api.DebuggerCommand, cb service.RPCCallback)
Command interrupts, continues and steps through the program.
func (*RPCServer) CreateBreakpoint ¶
func (s *RPCServer) CreateBreakpoint(arg CreateBreakpointIn, out *CreateBreakpointOut) error
CreateBreakpoint creates a new breakpoint. The client is expected to populate `CreateBreakpointIn` with an `api.Breakpoint` struct describing where to set the breakpoint. For more information on how to properly request a breakpoint via the `api.Breakpoint` struct see the documentation for `debugger.CreateBreakpoint` here: https://pkg.go.dev/github.com/mihailkirov/delve/service/debugger#Debugger.CreateBreakpoint.
func (*RPCServer) CreateEBPFTracepoint ¶
func (s *RPCServer) CreateEBPFTracepoint(arg CreateEBPFTracepointIn, out *CreateEBPFTracepointOut) error
func (*RPCServer) CreateWatchpoint ¶
func (s *RPCServer) CreateWatchpoint(arg CreateWatchpointIn, out *CreateWatchpointOut) error
func (*RPCServer) DebugInfoDirectories ¶
func (s *RPCServer) DebugInfoDirectories(arg DebugInfoDirectoriesIn, out *DebugInfoDirectoriesOut) error
func (*RPCServer) Disassemble ¶
func (s *RPCServer) Disassemble(arg DisassembleIn, out *DisassembleOut) error
Disassemble code.
If both StartPC and EndPC are non-zero the specified range will be disassembled, otherwise the function containing StartPC will be disassembled.
Scope is used to mark the instruction the specified goroutine is stopped at.
Disassemble will also try to calculate the destination address of an absolute indirect CALL if it happens to be the instruction the selected goroutine is stopped at.
func (*RPCServer) DumpCancel ¶
func (s *RPCServer) DumpCancel(arg DumpCancelIn, out *DumpCancelOut) error
DumpCancel cancels the core dump.
func (*RPCServer) DumpStart ¶
func (s *RPCServer) DumpStart(arg DumpStartIn, out *DumpStartOut) error
DumpStart starts a core dump to arg.Destination.
func (*RPCServer) DumpWait ¶
func (s *RPCServer) DumpWait(arg DumpWaitIn, out *DumpWaitOut) error
DumpWait waits for the core dump to finish or for arg.Wait milliseconds. Wait == 0 means return immediately. Returns the core dump status
func (*RPCServer) Eval ¶
Eval returns a variable in the specified context.
See https://github.com/mihailkirov/delve/blob/master/Documentation/cli/expr.md for a description of acceptable values of arg.Expr.
func (*RPCServer) ExamineMemory ¶
func (s *RPCServer) ExamineMemory(arg ExamineMemoryIn, out *ExaminedMemoryOut) error
func (*RPCServer) FindLocation ¶
func (s *RPCServer) FindLocation(arg FindLocationIn, out *FindLocationOut) error
FindLocation returns concrete location information described by a location expression.
loc ::= <filename>:<line> | <function>[:<line>] | /<regex>/ | (+|-)<offset> | <line> | *<address> * <filename> can be the full path of a file or just a suffix * <function> ::= <package>.<receiver type>.<name> | <package>.(*<receiver type>).<name> | <receiver type>.<name> | <package>.<name> | (*<receiver type>).<name> | <name> <function> must be unambiguous * /<regex>/ will return a location for each function matched by regex * +<offset> returns a location for the line that is <offset> lines after the current line * -<offset> returns a location for the line that is <offset> lines before the current line * <line> returns a location for a line in the current file * *<address> returns the location corresponding to the specified address
NOTE: this function does not actually set breakpoints.
func (*RPCServer) FollowExec ¶
func (s *RPCServer) FollowExec(arg FollowExecIn, out *FollowExecOut) error
FollowExec enables or disables follow exec mode.
func (*RPCServer) FollowExecEnabled ¶
func (s *RPCServer) FollowExecEnabled(arg FollowExecEnabledIn, out *FollowExecEnabledOut) error
FollowExecEnabled returns true if follow exec mode is enabled.
func (*RPCServer) FunctionReturnLocations ¶
func (s *RPCServer) FunctionReturnLocations(in FunctionReturnLocationsIn, out *FunctionReturnLocationsOut) error
FunctionReturnLocations is the implements the client call of the same name. Look at client documentation for more information.
func (*RPCServer) GetBreakpoint ¶
func (s *RPCServer) GetBreakpoint(arg GetBreakpointIn, out *GetBreakpointOut) error
GetBreakpoint gets a breakpoint by Name (if Name is not an empty string) or by ID.
func (*RPCServer) GetBufferedTracepoints ¶
func (s *RPCServer) GetBufferedTracepoints(arg GetBufferedTracepointsIn, out *GetBufferedTracepointsOut) error
func (*RPCServer) GetThread ¶
func (s *RPCServer) GetThread(arg GetThreadIn, out *GetThreadOut) error
GetThread gets a thread by its ID.
func (*RPCServer) IsMulticlient ¶
func (s *RPCServer) IsMulticlient(arg IsMulticlientIn, out *IsMulticlientOut) error
func (*RPCServer) LastModified ¶
func (s *RPCServer) LastModified(arg LastModifiedIn, out *LastModifiedOut) error
func (*RPCServer) ListBreakpoints ¶
func (s *RPCServer) ListBreakpoints(arg ListBreakpointsIn, out *ListBreakpointsOut) error
ListBreakpoints gets all breakpoints.
func (*RPCServer) ListCheckpoints ¶
func (s *RPCServer) ListCheckpoints(arg ListCheckpointsIn, out *ListCheckpointsOut) error
func (*RPCServer) ListDynamicLibraries ¶
func (s *RPCServer) ListDynamicLibraries(in ListDynamicLibrariesIn, out *ListDynamicLibrariesOut) error
func (*RPCServer) ListFunctionArgs ¶
func (s *RPCServer) ListFunctionArgs(arg ListFunctionArgsIn, out *ListFunctionArgsOut) error
ListFunctionArgs lists all arguments to the current function
func (*RPCServer) ListFunctions ¶
func (s *RPCServer) ListFunctions(arg ListFunctionsIn, out *ListFunctionsOut) error
ListFunctions lists all functions in the process matching filter.
func (*RPCServer) ListGoroutines ¶
func (s *RPCServer) ListGoroutines(arg ListGoroutinesIn, out *ListGoroutinesOut) error
ListGoroutines lists all goroutines. If Count is specified ListGoroutines will return at the first Count goroutines and an index in Nextg, that can be passed as the Start parameter, to get more goroutines from ListGoroutines. Passing a value of Start that wasn't returned by ListGoroutines will skip an undefined number of goroutines.
If arg.Filters are specified the list of returned goroutines is filtered applying the specified filters. For example:
ListGoroutinesFilter{ Kind: ListGoroutinesFilterUserLoc, Negated: false, Arg: "afile.go" }
will only return goroutines whose UserLoc contains "afile.go" as a substring. More specifically a goroutine matches a location filter if the specified location, formatted like this:
filename:lineno in function
contains Arg[0] as a substring.
Filters can also be applied to goroutine labels:
ListGoroutineFilter{ Kind: ListGoroutinesFilterLabel, Negated: false, Arg: "key=value" }
this filter will only return goroutines that have a key=value label.
If arg.GroupBy is not GoroutineFieldNone then the goroutines will be grouped with the specified criterion. If the value of arg.GroupBy is GoroutineLabel goroutines will be grouped by the value of the label with key GroupByKey. For each group a maximum of MaxGroupMembers example goroutines are returned, as well as the total number of goroutines in the group.
func (*RPCServer) ListLocalVars ¶
func (s *RPCServer) ListLocalVars(arg ListLocalVarsIn, out *ListLocalVarsOut) error
ListLocalVars lists all local variables in scope.
func (*RPCServer) ListPackageVars ¶
func (s *RPCServer) ListPackageVars(arg ListPackageVarsIn, out *ListPackageVarsOut) error
ListPackageVars lists all package variables in the context of the current thread.
func (*RPCServer) ListPackagesBuildInfo ¶
func (s *RPCServer) ListPackagesBuildInfo(in ListPackagesBuildInfoIn, out *ListPackagesBuildInfoOut) error
ListPackagesBuildInfo returns the list of packages used by the program along with the directory where each package was compiled and optionally the list of files constituting the package. Note that the directory path is a best guess and may be wrong is a tool other than cmd/go is used to perform the build.
func (*RPCServer) ListRegisters ¶
func (s *RPCServer) ListRegisters(arg ListRegistersIn, out *ListRegistersOut) error
ListRegisters lists registers and their values. If ListRegistersIn.Scope is not nil the registers of that eval scope will be returned, otherwise ListRegistersIn.ThreadID will be used.
func (*RPCServer) ListSources ¶
func (s *RPCServer) ListSources(arg ListSourcesIn, out *ListSourcesOut) error
ListSources lists all source files in the process matching filter.
func (*RPCServer) ListTargets ¶
func (s *RPCServer) ListTargets(arg ListTargetsIn, out *ListTargetsOut) error
ListTargets returns the list of targets we are currently attached to.
func (*RPCServer) ListThreads ¶
func (s *RPCServer) ListThreads(arg ListThreadsIn, out *ListThreadsOut) (err error)
ListThreads lists all threads.
func (*RPCServer) ListTypes ¶
func (s *RPCServer) ListTypes(arg ListTypesIn, out *ListTypesOut) error
ListTypes lists all types in the process matching filter.
func (*RPCServer) ProcessPid ¶
func (s *RPCServer) ProcessPid(arg ProcessPidIn, out *ProcessPidOut) error
ProcessPid returns the pid of the process we are debugging.
func (*RPCServer) Recorded ¶
func (s *RPCServer) Recorded(arg RecordedIn, out *RecordedOut) error
func (*RPCServer) Restart ¶
func (s *RPCServer) Restart(arg RestartIn, cb service.RPCCallback)
Restart restarts program.
func (*RPCServer) Set ¶
Set sets the value of a variable. Only numerical types and pointers are currently supported.
func (*RPCServer) Stacktrace ¶
func (s *RPCServer) Stacktrace(arg StacktraceIn, out *StacktraceOut) error
Stacktrace returns stacktrace of goroutine Id up to the specified Depth.
If Full is set it will also the variable of all local variables and function arguments of all stack frames.
func (*RPCServer) State ¶
func (s *RPCServer) State(arg StateIn, cb service.RPCCallback)
State returns the current debugger state.
func (*RPCServer) StopRecording ¶
func (s *RPCServer) StopRecording(arg StopRecordingIn, cb service.RPCCallback)
func (*RPCServer) ToggleBreakpoint ¶
func (s *RPCServer) ToggleBreakpoint(arg ToggleBreakpointIn, out *ToggleBreakpointOut) error
ToggleBreakpoint toggles on or off a breakpoint by Name (if Name is not an empty string) or by ID.
type RecordedIn ¶
type RecordedIn struct { }
type RecordedOut ¶
type RestartIn ¶
type RestartIn struct { // Position to restart from, if it starts with 'c' it's a checkpoint ID, // otherwise it's an event number. Only valid for recorded targets. Position string // ResetArgs tell whether NewArgs and NewRedirects should take effect. ResetArgs bool // NewArgs are arguments to launch a new process. They replace only the // argv[1] and later. Argv[0] cannot be changed. NewArgs []string // When Rerecord is set the target will be rerecorded Rerecord bool // When Rebuild is set the process will be build again Rebuild bool NewRedirects [3]string }
type RestartOut ¶
type RestartOut struct {
DiscardedBreakpoints []api.DiscardedBreakpoint
}
type StacktraceIn ¶
type StacktraceIn struct { Id int64 Depth int Full bool Defers bool // read deferred functions (equivalent to passing StacktraceReadDefers in Opts) Opts api.StacktraceOptions Cfg *api.LoadConfig }
type StacktraceOut ¶
type StacktraceOut struct {
Locations []api.Stackframe
}
type StateIn ¶
type StateIn struct { // If NonBlocking is true State will return immediately even if the target process is running. NonBlocking bool }
type StateOut ¶
type StateOut struct {
State *api.DebuggerState
}
type StopRecordingIn ¶
type StopRecordingIn struct { }
type StopRecordingOut ¶
type StopRecordingOut struct { }
type ToggleBreakpointIn ¶
type ToggleBreakpointOut ¶
type ToggleBreakpointOut struct {
Breakpoint *api.Breakpoint
}