Trace 调试之 noinline 修饰符

 

今天 试着设断点到:

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)

再编译,可以了!

 

你可能感兴趣的:(struct,video,编译器)