Ubuntu下软件运行常见异常退出问题汇总分析

软件在Ubuntu下运行时,可能会遇到各种异常退出情况,常见可分为以下几点:

目录

一、系统资源耗尽导致退出

二、权限导致无法运行

三、找不到依赖的动态库

四、编译可执行文件时,动态库所引用的头文件与动态库不匹配


一、系统资源耗尽导致退出

可以使用htop查看系统资源使用情况:

二、权限导致无法运行

出现这种问题的原因可能是由于外部导入或者拷贝到该路径的可执行程序的权限发生了变化:

三、找不到依赖的动态库

报错常见如下:

bash 复制代码
./XXX: error while loading shared libraries:XXX: cannot open shared object file: No such file or directory

1、依赖库缺失的情况:

bash 复制代码
ldd ./XXX // ldd,查看运行程序依赖库

这里会发现不少库未找到具体位置,找到具体库的位置,并导入进去,重新编译可执行文件;

2、依赖库存在,但是还是报找不到

2.1、临时将库查找的库,添加到环境变量中:

查看环境变量:printenv

bash 复制代码
printenv

LD_LIBRARY_PATH,查看当前动态库路径是否包含我此可执行文件依赖的动态库路径,没有的话临时添加以下:

bash 复制代码
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/XXXX/XXXX //这里接动态库路径

2.2、添加动态链接库管理文件,并加载配置

可以在**/etc/ld.so.conf.d/**目录下创建.conf文件来添加库路径,例如:

执行动态链接库的管理命令ldconfig,从而使得配置生效:

bash 复制代码
sudo ldconfig

四、编译可执行文件时,动态库所引用的头文件与动态库不匹配

前面两类排除,均得不到解决,这里需要gdb,调试一下可执行文件:查看崩溃点:

这里要查看编译时,链接的头文件,跟动态库是否匹配,若不匹配也会导致这个问题,找到匹配的头文件,跟动态库重新编译生成可执行文件。

相关推荐
ajassi20004 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
JosieBook5 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
文档搬运工5 小时前
Linux MInt启动速度的优化
linux
Broken Arrows5 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
Light606 小时前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
linux·pdf·可观测性·异步队列·plt转pdf·权限治理·进度查询
羚羊角uou6 小时前
【Linux】命名管道
linux·运维·服务器
IT 小阿姨(数据库)7 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
THMAIL7 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
让子弹飞027 小时前
36.2Linux单总线驱动DS18B20实验(详细讲解代码)_csdn
linux·ubuntu·驱动的分离和分层
Yana.nice7 小时前
yum list 和 repoquery的区别
linux