解决可执行文件报错:Segmentation fault

在执行程序v4l2_display_800x600_30p:

./v4l2_display_800x600_30p /dev/video1 /dev/fb0

出现如下问题:

image-20241205155019157

解决方法

先在开发板中执行如下命令:

ulimit -c unlimited

再执行程序

./v4l2_display_800x600_30p /dev/video1 /dev/fb0

会在当前目录下生成 core 文件:

image-20241205155350739

core 文件复制到 pc 机中 v4l2_display_800x600_30p 所在的文件夹下,并执行如下指令:

arm-buildroot-linux-gnueabihf-gdb v4l2_display_800x600_30p core

结果如下:

image-20241205160320129

再执行如下指令:

backtrace

结果如下:

image-20241205160504920

可以发现 color.c 的第65行出错;v4l2_display_800x600_30p.c 的第32行出错;v4l2_display_800x600_30p.c 的第289行出错。最终可以根据这些提示对代码进行修改。

posted @ 2025-05-13 19:46  Yamada_Ryo  阅读(48)  评论(0)    收藏  举报