3.10 Android eBPF HelloWorld调试(四)

发布时间:2024年01月04日

一,读取eBPF map的android应用程序示例

1.1 C++源码及源码解读

/system/memory/bpfmapparsed/hello_world_map_parser.cpp

//基于aosp android12

#define LOG_TAG "BPF_MAP_PARSER"

#include <log/log.h>
#include <stdlib.h>
#include <unistd.h>
#include <iostream>
#include <android-base/macros.h>
#include <android-base/properties.h>

#include "bpf/BpfMap.h"
#include "bpf/BpfUtils.h"
#include "libbpf_android.h"

constexpr const char prog_path[]="/sys/fs/bpf/prog_hello_world_ebpf_tracepoint_sched_sched_switch";
constexpr const char map_path[]="/sys/fs/bpf/map_hello_world_ebpf_cpu_pid_map";

static constexpr char traceGroup[]="sched"
static constexpr char tracepoint[]="ched_switch";

namespace android{
namespace bpf{

class HelloWorldMapParser{

  private:
    int mProgFd;

  public:
    HelloWorldMapParser(){}
    ~HelloWorldMapParser(){
      close(mPr
文章来源:https://blog.csdn.net/huangyabin001/article/details/134897040
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。