github.com/cnboonhan/delve@v0.0.0-20230908061759-363f2388c2fb/pkg/proc/internal/ebpf/context.go (about)

     1  package ebpf
     2  
     3  import (
     4  	"reflect"
     5  
     6  	"github.com/go-delve/delve/pkg/dwarf/godwarf"
     7  	"github.com/go-delve/delve/pkg/dwarf/op"
     8  )
     9  
    10  type UProbeArgMap struct {
    11  	Offset int64        // Offset from the stackpointer.
    12  	Size   int64        // Size in bytes.
    13  	Kind   reflect.Kind // Kind of variable.
    14  	Pieces []int        // Pieces of the variables as stored in registers.
    15  	InReg  bool         // True if this param is contained in a register.
    16  	Ret    bool         // True if this param is a return value.
    17  }
    18  
    19  type RawUProbeParam struct {
    20  	Pieces   []op.Piece
    21  	RealType godwarf.Type
    22  	Kind     reflect.Kind
    23  	Len      int64
    24  	Base     uint64
    25  	Addr     uint64
    26  	Data     []byte
    27  }
    28  
    29  type RawUProbeParams struct {
    30  	FnAddr       int
    31  	GoroutineID  int
    32  	IsRet        bool
    33  	InputParams  []*RawUProbeParam
    34  	ReturnParams []*RawUProbeParam
    35  }