- 博客(10)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 insmod(二)
CRC校验值通过命令genksyms来生成的,它会讲一个符号中的所有定义,包括结构,联合,枚举,类型定义的结构解释开,变成它编译前的最终内容,然后将其内容用CRC算法生成一个整数,这样。其中,echo "func xxxx_function +p" > /sys/kernel/debug/dynamic_debug/control。
2023-04-26 18:39:17
615
原创 系统调用-open(一)
以什么样的方式打开文件,为O_RDONLY、O_WRONLY、O_RDWR三者之一,是互斥的、不能同时存在;所以内核钩子中可以用if((flags & O_ACCMODE) == O_RDONLY) //判断是否以只读的方式打开,其中#define O_ACCMODE 3、 #define O_RDONLY 0、 #define O_WRONLY 1、#define O_RDWR 2。S_IRUSER或S_IREAD(00400权限),代表该文件所有者具有可读的权限;
2023-04-24 20:43:37
897
原创 ebpf字节码的加载过程(三)
添加kernel-src/sample/bpf/bpf_load.h(头文件搜索目录在makefile中指定了),把sample/bpf/bpf_load.c和自己的user_load.c文件通过Makefile编译出一个monitor-exec程序,负责加载elf格式的.o文件。《2》int load_bpf_file(char *path)、read_trace_pipe()等用户空间函数在bpf_load.c中定义。《3》在bpf_load.c中我们看看load_bpf_file()做了啥。
2023-03-17 09:13:52
650
1
原创 Linux磁盘分区、格式化相关操作
1、sda、sdb是磁盘,sda1、sda2, sdb1是分区2、检查哪块磁盘未分区,lsblk命令由上图可知,我这个系统上有两个磁盘sda和sdb: 对sda磁盘进行分区,得到sda1、sda2、sda3,且三个分区的大小正好等于sda的大小,所以sda磁盘没有剩余的未分区容量了; 对磁盘sdb进行分区,得到分区sdb1,sdb1为10M ,而磁盘sdb为2G,所以sdb还有1.99G未分区的磁盘 如果没有未分区的磁盘,则需要删除一个已...
2020-11-07 12:54:14
5038
原创 gdb
一、用gdb调试程序 Linux中包含一个很强大的调试工具GDB,可以用它来调试C、C++程序。 要使用GDB进行调试,在编译程序的时候需要加入-g选项。 使用流程 (1)gcc -g test.c -o test (2) 启动gdb:gdb test (3)在main函数处设置断点:break main (4)运行程...
2020-01-17 19:29:44
252
原创 gcc编译器、Makefile
一、编译程序的基础知识 (1) gcc对程序的编译过程:预编译-》编译和优化-》汇编-》链接 预编译:将程序中引用的头文件包含进源代码中,并对宏进行替换。 gcc -E hello.c -o hello.i 编译:将用户可识别的语言翻译成处理器可识别的汇编语言。 ...
2020-01-17 14:44:22
297
原创 vim设置及常用命令
1、设置vim ~/.vimrc (或/etc/vimrc 或 /etc/virc)set nu //显示行号set tabstop=4 //设置TAB为4格set autoindent //设置自动缩进set cursorline //突出显示该行set cursorcolumn //突出显示该...
2020-01-16 18:34:21
293
原创 ICMPV6协议及NDP协议
一、ICMPV6 1、基于ipv6的ICMPv6(Internet control message protocol for IPv6)是 IPv6 下的 Internet 控制报文协议;在 IPv6 中,ICMPv6 整合实现了 IPv4 中的 ICMP(ping命令)、ARP 以及 IGMP 的所有功能,主要包括错误报告、网络诊断(ping6命令)、邻居发现、多播实现和重定向等。...
2019-09-19 21:36:23
13427
1
如何通过c语言实现Linux下的top命令来获取cpu利用率?
2016-05-12
zedboard的启动文件之system.bit
2016-05-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人