解决可执行文件报错:Segmentation fault
在执行程序v4l2_display_800x600_30p:
./v4l2_display_800x600_30p /dev/video1 /dev/fb0
出现如下问题:
解决方法
先在开发板中执行如下命令:
ulimit -c unlimited
再执行程序
./v4l2_display_800x600_30p /dev/video1 /dev/fb0
会在当前目录下生成 core 文件:
将 core 文件复制到 pc 机中 v4l2_display_800x600_30p 所在的文件夹下,并执行如下指令:
arm-buildroot-linux-gnueabihf-gdb v4l2_display_800x600_30p core
结果如下:
再执行如下指令:
backtrace
结果如下:
可以发现 color.c 的第65行出错;v4l2_display_800x600_30p.c 的第32行出错;v4l2_display_800x600_30p.c 的第289行出错。最终可以根据这些提示对代码进行修改。