无论是调试优化应用程序或者内核程序,知道怎么以及去哪查找与修改需要的程序信息是很重要的,下面总结了一些常见的几种方法。
基本配置与状态信息,主要是基于基本的配置文件,内核导出数据结构,编译内核生成的配置和符号文件以及基本的工具命令。比如:
/etc,/proc,/sys,/boot/config*,/boot/System-*-.map 以及 top,netstat,sysstat包,sysctl,getconf,sar,free等工具。常见调试工具,比如gdb,llvm-db,strace,valgrind,readelf/objdump/objcopy/nm等二进制工具。
各种tracer,比如perf,ftrace,systemtap,kprobe,uprobe等
用或者监控系统调用接口,获得想要的信息。
直接写内核模块,dump想要的数据结构的内存。
源码。