• 2024-06-15Kprobes(Kernel Probes)简析
    一、kprobes是什么kprobes是一种基于动态插桩的底层机制,它能动态地插入几乎任何kernel路径,不修改分析对象源码地情况下,来收集debug和性能数据。你可以通过kprobes陷入几乎所有kernel函数地址[1],当该kernel函数被调用时,如果已经定义了一个与之绑定handler,那么handler函数也会同时
  • 2024-04-02Kernel调试追踪技术之 Kprobe on ARM64
    kprobe是什么?kprobe是一种动态调试机制,用于debugging,动态跟踪,性能分析,动态修改内核行为等,2004年由IBM发布,是名为Dprobes工具集的底层实现机制[1][2],2005年合入Linuxkernel。probe的含义是像一个探针,可以不修改分析对象源码的情况下,获取Kernel的运行时信息。kprobe的实现原理是
  • 2024-03-25kprobe
    原文地址:https://www.cnblogs.com/arnoldlu/p/9752061.htmlLinuxkprobe调试技术使用kprobe调试技术是为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术。利用kprobe技术,可以在内核绝大多数函数中动态插入探测点,收集调试状态所需信息而基本不影响原有执行流程。k
  • 2024-02-07如何利用内核跟踪点排查短时进程问题?
    在排查系统CPU使用率高的问题时,很可能遇到过这样的困惑:明明通过 top 命令发现系统的CPU使用率(特别是用户CPU使用率)特别高,但通过 ps、pidstat 等工具都找不出CPU使用率高的进程。这是什么原因导致的呢?一般情况下,这类问题很可能是以下两个原因导致的:第一,应用程序里面
  • 2023-12-01kprobes源码走读
    粗略看了下kernel/kprobes.c下的register_kprobe方法。逻辑:调用kprobe_addr方法来根据symbol或者addr+offset来获取需要劫持的地址,symbol和addr不能同时设置,symbol是利用kprobe_lookup_name->kallsyms_lookup_name来查找内核中的符号地址。检查这个kprobe是否重注册了?
  • 2023-06-01kprobe_events shell模式使用教程
    kprobe_eventsshell模式使用教程kprobe使用前提需要内核启用以下配置CONFIG_KPROBES=yCONFIG_HAVE_KPROBES=yCONFIG_KPROBE_EVENT=ykprobe_eventskprobe_events有两种类型:kprobe,kretprobekprobe_evnets规则添加的入口:/sys/kernel/debug/tracing/kprobe_events
  • 2023-05-29转载-奇小葩-深入ftrace kprobe原理解析
    原文链接:https://blog.csdn.net/u012489236/article/details/127942216 Linuxkrpobe调试技术是内核开发者专门为了编译跟踪内核函数执行状态所涉及的一种轻量级内核调试技术,利用kprobe技术,内核开发人员可以在内核的绝大多数指定函数中动态插入探测点来收集所需的调试状态信
  • 2023-04-07【调试】kprobes(二)使用方法
    前言上一节介绍了kprobe的基本概念,下面我们将使用几个具体的例子,看下kprobe在实际使用中有那些应用场景。kprobe内核的samples/kprobe目录下有kprobe相关的例子,我们以这些例子为基础,简单修改下。查看函数的入参我们所有的例子都是探测do_sys_open()或者_do_fork(),以下是内核
  • 2023-04-07【调试】kprobes(一)基本概念
    简介开发人员在内核或者模块的调试过程中,往往会需要要知道其中的一些函数有无被调用、何时被调用、执行是否正确以及函数的入参和返回值是什么等等。比较简单的做法是在内核代码对应的函数中添加日志打印信息,但这种方式往往需要重新编译内核或模块,重新启动设备之类的,操作较为复
  • 2023-02-04tracer ftrace笔记(13)—— kprobe
    基于Linux-5.15一、kprobe简介1.kprobes是为了便于跟踪内核函数执行状态的一种轻量级内核调试技术。可以在内核的绝大多数函数(非inline、非trace自身函数)中动态的
  • 2022-12-13给kprobe添加一种数据显示方式
    目前kprobe不支持单个字符的输出显示方式,下面的patch给kprobe增加了一种%c的数据显示方式:diff--gita/Documentation/trace/kprobetrace.rstb/Documentation/trace/kpro
  • 2022-12-05kprobe
    kprobeLinux内核调试技术——kprobe使用与实现(一)Linux内核调试技术——kprobe使用与实现(二)
  • 2022-11-22ebpf-5——实用案例汇总
    1.统计函数每次执行耗时bpftrace-e'kprobe:vfs_read{@start[tid]=nsecs;}kretprobe:vfs_read/@start[tid]/{@us[pid]=nsecs-@start[tid];delete(@st
  • 2022-11-22ebpf-4——reference_guide.md翻译与实验
    https://github.com/iovisor/bpftrace/blob/master/docs/reference_guide.md一、说明bpftrace参考指南有关参考摘要,请参阅README.md中有关探测器类型的部分以及本指
  • 2022-11-08系统调用捕获和分析—Ring0层kprobe劫持系统调用
    本文为毕业设计过程中学习相关知识、动手实践记录下来的完整笔记,通过阅读本系列文章,您可以从零基础了解系统调用的底层原理并对系统调用进行拦截。由于本人能力有限,文章中可