CSDN开源夏令营 - 第一周工作总结
这一周主要对KGTP的实现进行了简单的熟悉和分析,主要参考的资料在:[1]。
1.什么是KGTP
T大把KGTP称为Linux内核中的GDB快刀,其全称是Linux kernel GDB tracepoint module,是一个灵活轻量级实时的Linux调试器和跟踪器。
Linux的tracer infrastructure五花八门,包括Ftrace,Utrace等,建议大家参考一下这篇paper,【
Ptrace, Utrace, Uprobes: Lightweight, Dynamic Tracing of User Apps】,下载链接在:[2]。Tracer在收集信息的时候不停止Linux内核,但是不能被GDB控制。
而在调试Linux内核的时候,我们也有很多选择,比如KDB,KGDB等,Debugger将停止Linux内核,但是可以被GDB控制。
那么KGTP做了什么事情呢?Yes,作为Tracer和Debugger的一个桥梁,从而做到不停止Linux内核,且可以被本地或者远程的GDB控制。
目前,KGTP支持X86-32,X86-64,MIPS和ARM,支持Linux内核2.6.18到up