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查看库文件有哪些函数符号,对函数符号进行注册,用加密工具查找库文件的函数符号并对其进行加密。

相关推荐
AlfredZhao32 分钟前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐1 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维