github.com/undoio/delve@v1.9.0/pkg/proc/internal/ebpf/bpf/include/trace.bpf.h (about)

     1  #include "vmlinux.h"
     2  #include "function_vals.bpf.h"
     3  #include <bpf/bpf_helpers.h>
     4  #include <bpf/bpf_tracing.h>
     5  
     6  #define BPF_MAX_VAR_SIZ	(1 << 29)
     7  
     8  // Ring buffer to handle communication of variable values back to userspace.
     9  struct {
    10     __uint(type, BPF_MAP_TYPE_RINGBUF);
    11     __uint(max_entries, BPF_MAX_VAR_SIZ);
    12  } events SEC(".maps");
    13  
    14  struct {
    15     __uint(type, BPF_MAP_TYPE_RINGBUF);
    16     __uint(max_entries, BPF_MAX_VAR_SIZ);
    17  } heap SEC(".maps");
    18  
    19  // Map which uses instruction address as key and function parameter info as the value.
    20  struct {
    21      __uint(max_entries, 42);
    22      __uint(type, BPF_MAP_TYPE_HASH);
    23      __type(key, u64);
    24      __type(value, function_parameter_list_t);
    25  } arg_map SEC(".maps");