3.10 Android eBPF HelloWorld调试(四)

一,读取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

相关推荐

  1. 【Livox激光MID-360调试记录

    2024-01-04 15:58:03       40 阅读
  2. 3.10 Android eBPF HelloWorld调试

    2024-01-04 15:58:03       58 阅读
  3. 2024-05-30 vscode python不能调试

    2024-01-04 15:58:03       31 阅读
  4. springcloud基本使用(Feign远程调用

    2024-01-04 15:58:03       34 阅读
  5. 编程探秘:Python深渊之旅-----调试的艺术(

    2024-01-04 15:58:03       70 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-04 15:58:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-04 15:58:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-04 15:58:03       82 阅读
  4. Python语言-面向对象

    2024-01-04 15:58:03       91 阅读

热门阅读

  1. 软件测试工程师需要掌握的理论知识(1)

    2024-01-04 15:58:03       42 阅读
  2. Typescript---编译选项tsconfig.json 02

    2024-01-04 15:58:03       57 阅读
  3. 介绍一下 MVC MVVM

    2024-01-04 15:58:03       63 阅读
  4. python 大括号中括号小括号的区分

    2024-01-04 15:58:03       76 阅读