最简单的打开DEBUG宏的方法是修改Makefile文件,比如我们要打开kernel/drivers/gpio/下面所有文件以及子目录下所有文件的DEBUG宏,可以在kernel/drivers/gpio/Makefile中添加如下代码,其中,如果是ccflags-y := -DDEBUG表示只打开kernel/drivers/gpio/下面的文件的DEBUG宏,但不包括子目录
方法一:最简单的打开DEBUG宏的方法是修改Makefile文件,比如我们要打开kernel/drivers/mmc/下面所有文件以及子目录下所有文件的DEBUG宏,可以在kernel/drivers/mmc/Makefile中添加如下代码,其中,如果是ccflags-y := -DDEBUG表示只打开kernel/drivers/mmc/下面的文件的DEBUG宏,但不包括子目录下的文件的DEBUG宏,而subdir-...
mount -t debugfs nodev /sys/kernel/debugcat /sys/kernel/debug/kmemleak CONFIG_KALLSYMS 该选项将在内核中包含符号信息,默认是打开的,符号信息用于调试上下文,没有此符号,oops清单只能给出十六进制的内核反向跟踪信息,这通常没有多少用处。 ONFIG_IKCONFIG //放到镜像中 CONFIG_IKCONFIG_PROC //放到 proc目录...
其实开启DEBUG宏的方法很简单,在需要pr_debug/dev_dbg输出的模块开头,直接#define DEBUG即可,kernel中有一个例子: /* init/main.c */ #define DEBUG /* Enable initcall_debug */ 不过这种方法有个缺点:我们必须准确的知道需要debug那个C文件,如果想大网撒鱼(例如,想debug为什么新修改的DTS文件没有起作用,而又...
mount -t debugfs nodev /sys/kernel/debug cat /sys/kernel/debug/kmemleak CONFIG_KALLSYMS 该选项将在内核中包含符号信息,默认是打开的,符号信息用于调试上下文,没有此符号,oops清单只能给出十六进制的内核反向跟踪信息,这通常没有多少用处。 ONFIG_IKCONFIG//放到镜像中 ...
mount-tdebugfs none /sys/kernel/debug/ 1. 三、查看debug信息 所有debug信息都在/sys/kernel/debug/路径中。 比如查看当前gpio使用情况: 四、设置自动挂载点 修改/etc/fstab文件,添加debugfs挂载信息: 这样在系统启动之后就会自动挂载debugfs。
ls /sys/kernel/debug/modules 复制代码 查看特定内核模块的信息(将your_module_name替换为实际的模块名称): cat /sys/kernel/debug/modules/your_module_name 复制代码 查看特定内核模块的依赖关系: cat /sys/kernel/debug/modules/your_module_name/dependencies 复制代码 请注意,这些命令仅适用于已加载的内核模...
linux kernel debug技巧 https://blog.csdn.net/weixin_38233274/article/details/101383642?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.baidujs&dist_request_id=1331978.10392.16186274875493493&depth_1-utm_source=distribute.pc_relevant_t0....
另外一种调试模块初始化函数的方法是:当插入内核模块时,内核模块机制将调用函数sys_init_module(kernel/modle.c)执行对内核模块的初始化,该函数将调用所插入模块的初始化函数。程序代码片断如下: ……… if (mod->init != NULL) ret = mod->init(); ……… 在该...