(参考: http://www.lenky.info/archives/2013/03/2238)
有时候,在调试内核的时候,去看一些变量的值的时候,会发现是看不到的:
work = <optimized out>
ret = <optimized out>
这是因为, 内核默认使用了 -O2优化选项,有些变量被优化掉了.
对于这个问题,可以通过修改 makefile文件里的优化参数解决.
比如,我们想要看到 文件 arch/arm/kernel/smp.c的局部变量的数值,就可以在 arch/arm/kernel/下面的makefile里最后加上如下一行:
CFLAGS_smp.o = -O0