Linux程序库文件调试测试方法

Linux编译后的.so文件是需要进行上机测试的,对于已经量产的硬件平台来说一般是通过具有相同功能的样机测试新版本的功能,具体如下。

Linux的量产固件由于已经经过裁剪系统内部的usr lib etc等目录是只读的权限不可以修改因此不能将测试库直接放到其下进行替换测试,测试方法是通过软链接将需要测试的库放到别的目录下比如data/lib下之后用命令mount bind -o src dst或者ln -s src dst 进行软链接测试,开机重启后自动挂载测试指定目录下的库。将库文件发送到测试机器一般是通过远程网络发送,用命令telnet 目标机ip地址,输入用户名和密码连接机器,后用发送命令 nc 目标机ip 端口号 < 待传文件,例如 nc 192.168.1.1 8088 < test.so ,和接收命令 nc -lp 端口号 > 待传文件,例如 nc -lp 8088 > test.so,将文件从服务器发送到目标机器端。将库文件发送到服务器端可以通过mobaxterm进行推送。

将所需的库发送到目标机器后接下来就可以进行测试,一般通过测试脚本决定需要对哪些库进行测试,把需要测试的库依次进行软链接之后重启机器等待进程启动,后用top指令观察是否运行正常,还是崩溃。查看是否有相关功能日志输出。对新增功能和修复项进行点检操作,确保所有功能都正常。

点检正常后可以将分支合并到主分支,依次执行,git fetch ,git checkout yourbranch , git status, git add your src, git commit -m "your comment", git push origin release. 之后合并请求即可。

合并后,可以将此版本对应的库文件打包提交到cicd自动部署,待发布新固件后再次上机测试功能。如果发布后发现有异常情况可以进行版本回退reset, 或者进行热修即新建分支并命名。

发布到机器的.so库文件如果需要保密以防止反编译还可以对库文件中单独的函数进行加密操作,其原理只是对交叉编译后的库中的固定的函数功能符号进行加密操作,可以用nm -D xxx.so查看库文件有哪些函数符号,对函数符号进行注册,用加密工具查找库文件的函数符号并对其进行加密。

相关推荐
zhangrelay5 小时前
Linux(ubuntu)如何锁定cpu频率工作在最低能耗模式下
linux·笔记·学习
_OP_CHEN5 小时前
【Linux系统编程】(二十)揭秘 Linux 文件描述符:从底层原理到实战应用,一篇吃透 fd 本质!
linux·后端·操作系统·c/c++·重定向·文件描述符·linux文件
岁岁种桃花儿5 小时前
详解kubectl get replicaset命令及与kubectl get pods的核心区别
运维·nginx·容器·kubernetes·k8s
捷智算云服务5 小时前
告别运维割裂!捷智算GPU维修中心重新定义“全栈式”维修新标准
运维·服务器·性能优化
chem41115 小时前
玩客云 边缘AI模型 本地搭建部署 llama.cpp qwen
linux·人工智能·llama
青火coding5 小时前
SOFAServerless架构的意义
java·运维·中间件·架构·serverless
一个平凡而乐于分享的小比特5 小时前
Linux内核中的BogoMIPS详解
linux·bogomips
橘颂TA5 小时前
【Linux 网络】TCP 拥塞控制与异常处理:从原理到实践的深度剖析
linux·运维·网络·tcp/ip·算法·职场和发展·结构与算法
zbguolei5 小时前
CentOS 7.6离线安装Nginx
linux·nginx·centos
苏宸啊6 小时前
Linux开发工具(二)
linux