linux调试
# 编译开源项目找不到动态库
# 查看哪些依赖没有
ldd 文件名
1
# 添加库文件路径
/etc/ld.so.conf
:记录了编译时依赖的动态库路径
默认情况下自动包含了/lib和/usr/lib
echo '要添加的动态库路径'>/etc/ld.so.conf
ldconfig # 刷新动态库配置
1
2
2
# 检查库文件权限
ls -l /lib/*.so
1
确保用户有读写执行权限
确保文件大小不为0,即文件没有损坏
检查软连接,指向的so是否存在,软连接是否存在
# 是否有不同版本
ln -s 旧版本 新版本名称 #为旧版本创建一个软连接,当系统使用新版本库时,实际上使用的是旧版本库
1
# 编译链接了对相路径,但运行时没有动态库
当在链接时指定-L选项,是告诉链接器去哪找到库。但是运行时操作系统需要知道在哪里找到需要的共库
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
将目标库的路径注册进环境变量,
# 网络卡顿排查
定位应用范围(版本、应用比较)、发生场景
性能拆分,后端RT+网络段
对于网络问题:
抓包分析,看丢包和重传
影响面:和各个地点的网络通信
丢包条件:业务类型对应什么样的数据、数据大小、终端网络类型、
快重传:是否生效,其他内核参数设置
上次更新: 2025/02/21, 14:57:10