Linux程序运行错误记录

libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0

这种错误一般是以为空指针导致,检查自己代码中是否存在空指针,如果没有,看是不是调用了外部函数(库函数)。

有可能调用函数中出现了空指针,如调用前需要初始化,但没有初始化就直接调用了,导致函数内存在空指针

执行程序出现 No such file or directory

明明有这个文件,但仍然报找不到这个文件,其实这个并不是找不到这个文件本身,很有可能是这个文件所依赖的文件找不到,比如依赖的库文件。

can't execute: Permission denied

(1)可能没有权限755

(2)修改了权限还提示这个错,可能缺少对应得库,比如是64位程序,但只有32位的libc库

解决办法编译时加入LOCAL_FORCE_STATIC_EXECUTABLE := true  或LOCAL_MULTILIB := 32

error: undefined reference to 'hw_get_module'

(1)常见的原因缺少头文件、库文件、参数不对,也就是说的确未定义

(2)罕见原因,单独编译这个库可以编过,通过编译可执行程序,依赖这个库时编译不过。可以看看可执行程序的MK有没有定义LOCAL_FORCE_STATIC_EXECUTABLE,注释掉试试

发布了44 篇原创文章 · 获赞 31 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/u013463707/article/details/97397783
今日推荐