linux内核编程

0. 加载模块:modprobe   modname 或者:  insmod  /path/to/modname.ko (正式加载用前者,调试建议用后者)

1.modprobe -r modname 或者rmmod modname  卸载对应模块

2.modprobe -l: 列举所有可加载模块,lsmod列举所有已加载模块

3. printk内容查看: dmesg 或者:cat /proc/kmsg

4. printk日志级别: echo 7 > /proc/sys/kernel/printk

5. if(printk_ratelimit())  printk(KERN_NOTICE"The printer is still on fire\n"); 
//控制打印速率

6.打印调用栈: dump_stack();

7.模块makefile:

------

obj-m += virtio_pci.o

all:

        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:

        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

------

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容