今天 试着设断点到:
static int __init pxafb_map_video_memory(struct pxafb_info *fbi)
失败! System.map里也找不到它。
单步跟踪发现该函数被 inline 了!即使是使用 O0 编译也不行!
可能是因为使用了 static 修饰符,本身又是没有循环等复杂结构。编译器认为不 inline 太可惜了。
于是想到了 noinline 编译指示符, 将函数修改为:
static int noinline __init pxafb_map_video_memory(struct pxafb_info *fbi)
再编译,可以了!
本文探讨了在调试过程中遇到的静态内联函数无法设置断点的问题,并通过添加noinline指示符成功解决了这一问题。文章详细介绍了问题背景、解决过程及原因分析。
4万+





