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,调试一下可执行文件:查看崩溃点:

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

相关推荐
曦夜日长18 分钟前
Git系统篇,Git本地使用(一):从“究极进化版“到三个区域的底层原理
大数据·linux·git·elasticsearch
shimly1234561 小时前
给断网无 sudo ubuntu22.04 机器安装 nodejs
linux
别动我齐刘海2 小时前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
Lsetea3 小时前
OpenSSL报certificate chain too long:error 22与verify_depth深度排查
linux·https·ssl证书·openssl·证书链
不像程序员的程序媛4 小时前
linux常见文本操作命令
linux·运维·服务器
wangbing11254 小时前
开发指南149-IotDB-常用命令
linux·运维·iotdb
看着博客敲代码4 小时前
WorkBuddy 接上 Kali MCP 做自动化渗透:信息收集到初步验证的落地记录
linux·人工智能·安全·网络安全·自动化
小HANN6 小时前
华为云企业网站上云实战|从零搭建高可用WordPress全站架构(ECS+RDS+ELB+弹性伸缩+云监控闭环)
linux·运维·服务器·经验分享
星恒随风6 小时前
Linux库的底层原理:ELF文件格式、静态链接、程序加载、虚拟地址空间与GOT/PLT详解
linux·运维·笔记·学习·状态模式
GeW7 小时前
2026新质生产力路线图:Linux、数据库与智能算力融合报告
linux