package server

import "cloud.google.com/go/cmd/go-cloud-debug-agent/internal/debug/server"

Package server provides RPC access to a local program being debugged. It is the remote end of the client implementation of the Program interface.

Index

Types

type Printer

type Printer struct {
	// contains filtered or unexported fields
}

A Printer pretty-prints values in the target address space. It can be reused after each printing operation to avoid unnecessary allocations. However, it is not safe for concurrent access.

func NewPrinter

func NewPrinter(arch *arch.Architecture, dwarf *dwarf.Data, server *Server) *Printer

NewPrinter returns a printer that can use the Server to access and print values of the specified architecture described by the provided DWARF data.

func (*Printer) Sprint

func (p *Printer) Sprint(name string) (string, error)

Sprint returns the pretty-printed value of the item with the given name, such as "main.global".

func (*Printer) SprintEntry

func (p *Printer) SprintEntry(entry *dwarf.Entry, a uint64) (string, error)

SprintEntry returns the pretty-printed value of the item with the specified DWARF Entry and address.

type Server

type Server struct {
	// contains filtered or unexported fields
}

func New

func New(executable string) (*Server, error)

New parses the executable and builds local data structures for answering requests. It returns a Server ready to serve requests about the executable.

func (*Server) Breakpoint

func (*Server) BreakpointAtFunction

func (s *Server) BreakpointAtFunction(req *protocol.BreakpointAtFunctionRequest, resp *protocol.BreakpointResponse) error

func (*Server) BreakpointAtLine

func (s *Server) BreakpointAtLine(req *protocol.BreakpointAtLineRequest, resp *protocol.BreakpointResponse) error

func (*Server) Close

func (s *Server) Close(req *protocol.CloseRequest, resp *protocol.CloseResponse) error

func (*Server) DeleteBreakpoints

func (*Server) Eval

func (s *Server) Eval(req *protocol.EvalRequest, resp *protocol.EvalResponse) error

func (*Server) Evaluate

func (s *Server) Evaluate(req *protocol.EvaluateRequest, resp *protocol.EvaluateResponse) error

func (*Server) Frames

func (s *Server) Frames(req *protocol.FramesRequest, resp *protocol.FramesResponse) error

func (*Server) Goroutines

func (*Server) MapElement

func (*Server) Open

func (s *Server) Open(req *protocol.OpenRequest, resp *protocol.OpenResponse) error

func (*Server) ReadAt

func (s *Server) ReadAt(req *protocol.ReadAtRequest, resp *protocol.ReadAtResponse) error

func (*Server) Resume

func (s *Server) Resume(req *protocol.ResumeRequest, resp *protocol.ResumeResponse) error

func (*Server) Run

func (s *Server) Run(req *protocol.RunRequest, resp *protocol.RunResponse) error

func (*Server) Value

func (s *Server) Value(req *protocol.ValueRequest, resp *protocol.ValueResponse) error

func (*Server) VarByName

func (s *Server) VarByName(req *protocol.VarByNameRequest, resp *protocol.VarByNameResponse) error

Source Files

dwarf.go eval.go peek.go print.go ptrace.go server.go value.go

Directories

PathSynopsis
cmd/go-cloud-debug-agent/internal/debug/server/protocolPackage protocol defines the types used to represent calls to the debug server.
Version
v0.107.0
Published
Nov 16, 2022
Platform
linux/amd64
Imports
21 packages
Last checked
36 minutes ago

Tools for package owners.