内核调试技巧——如何确定宏是否打开
Linux内核中为了适配众多架构或者功能,设计了非常多的宏,代码调试时,很难判断某个宏是打开的还是关闭的,这里推荐一种方法,可以快速的判断哪些宏是打开的,哪些是关闭的。
在想要确定是否会被编译的位置插入 111
222
等字符,如果编译报错,则表示此处是宏打开的地方,会被编译进去。
如下图,插入若干字符后,编译,333
位置报错,说明333
处的代码 \#define AP_PROFILE_PATH "/etc/Wireless/RT2860/RT2860.dat"
是要被编译进去的,此处实例就知道了此代码使用的配置文件是哪个。
确定 333
处的代码会被编译后,将 333
注释掉,再编译就 OK 了。