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

相关推荐
南境十里·墨染春水1 小时前
linux学习笔记 网络编程——Socket入门与TCP客户端/服务器实现
linux·服务器·网络
Sirens.1 小时前
twikoo:从MongoDB Atlas到本地部署
运维·服务器
Meya11272 小时前
别再人工硬扛机房管理!智能 U 位系统,让机房管理一键数字化
大数据·运维
DFT计算杂谈2 小时前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化
Yupureki2 小时前
《Linux网络编程》6.UDP原理
linux·运维·服务器·网络·udp
楼田莉子3 小时前
Linux网络:NAT_代理
linux·运维·服务器·开发语言·c++·后端
烛衔溟3 小时前
TypeScript 索引签名、只读数组与 keyof / typeof 入门
linux·ubuntu·typescript
Harvy_没救了4 小时前
【网络运维】 WordPress 部署复盘
运维·网络
笨笨饿4 小时前
#79_NOP()嵌入式C语言中内联汇编宏的抽象封装模式研究
linux·c语言·网络·驱动开发·算法·硬件工程·个人开发
weixin_402278454 小时前
VS code 本地推送github添加SSH设置
运维·git·ssh