kprobe是linux內核的一個重要特性,是一個輕量級的內核調試工具,同時它又是其他一些更高級的內核調試工具(比如perf和systemtap)的“基礎設施”,4.0版本的內核中,強大的eBPF特性也寄生於kprobe之上,所以kprobe在內核中的地位就可見一斑了。本文想把kprobe的原理掰 ...
上一篇文章和大家簡要說明了下kprobe到底應該怎樣用,那么現在我們就揭開kprobe神秘的面紗,刨根問底,一睹kprobe的廬山真面目。 kprobe的工作過程大致如下: 注冊kprobe。注冊的每個kprobe對應一個kprobe結構體,該結構中記錄着插入點 位置 ,以及該插入點本來對應的指令original opcode 替換原有指令。使能kprobe的時候,將插入點位置的指令替換為一條異常 ...
2015-06-15 00:06 1 2833 推薦指數:
kprobe是linux內核的一個重要特性,是一個輕量級的內核調試工具,同時它又是其他一些更高級的內核調試工具(比如perf和systemtap)的“基礎設施”,4.0版本的內核中,強大的eBPF特性也寄生於kprobe之上,所以kprobe在內核中的地位就可見一斑了。本文想把kprobe的原理掰 ...
很久以前挖的坑, 現在還沒填上, 也許以后再詳細分析吧. kprobe是內核提供的代碼跟蹤工具, 其使用方法見Documentation/kprobes.txt, 此處做個簡要說明. kprobe允許你在任何內核程序位置動態打斷並收集調試信息. 你可以在幾乎熱河內核代碼地址陷入中斷, 指定斷點 ...
dll 一、什么是dll 二、為何要有dll 三、什么是dll注入: 四、什么時候需要dll注入 五、dll注入的方法 修改注冊表來注入dll; 使用Crea ...
Nginx原理解析 一、反向代理 工作流程 用戶通過域名發出訪問Web服務器的請求,該域名被DNS服務器解析為反向代理服務器的IP地址; 反向代理服務器接受用戶的請求; 反向代理服務器在本地緩存中查找請求的內容,找到后直接把內容發送給用戶; 如果本地緩存里沒有用戶所請求 ...
前言 EventBus的核心思想是觀察者模式 (生產/消費者編程模型) 。 SpringBoot+EventBus使用教程(一) SpringBoot+EventBus使用教程(二) ...
CAS底層原理 概念 CAS的全稱是Compare-And-Swap,它是CPU並發原語 它的功能是判斷內存某個位置的值是否為預期值,如果是則更改為新的值,這個過程是原子的 CAS並發原語體現在Java語言中就是sun.misc.Unsafe類的各個方法。調用UnSafe類中的CAS方法 ...
全文總結 1.I/O多路復用是什么意思?多個網絡I/O操作復用一個單線程。 2.為什么Redis要使用 I/O 多路復用呢?Redis是單線程的,所有操作都是按照順序線性執行的 ...
最近空閑時間在研究Semi-Direct Monocular Visual Odometry(SVO)[1,2],覺得它值得寫一寫。另外,SVO的運算量相對較小,我想在手機上嘗試實現它。 關於SVO的介紹,有兩篇博客介紹得非常好,因此我這里只簡單提一下大概的思路,重點講解了一下深度濾波器的原理 ...