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

相关推荐
智脑API平台11 分钟前
Codex CLI 怎么用 .env 配置 API Key?本地项目和自动化脚本接入教程
运维·自动化
无足鸟ICT27 分钟前
【RHCA+】bash命令
linux·开发语言·bash
weixin_3077791336 分钟前
Linux下Docker Compose里运行的MySQL数据库故障诊断Shell脚本
linux·运维·mysql·docker·自动化
小生不才yz40 分钟前
Shell脚本精读 · S14-02 | 脚本模板:从 20 行工具到可维护项目
linux
x-cmd1 小时前
Linus 9 年前说「模糊测试有效」——今天已成 OSS-Fuzz 时代铁律
linux·ai·rust·开源·自动化·agent·安全性测试
流浪0012 小时前
Git篇(三):吃透远程协作:SSH 密钥、分支、标签全流程实战指南
运维·git·ssh
六点_dn2 小时前
Linux学习笔记-chmod命令
linux·笔记·学习
AOwhisky2 小时前
Python 基础语法(上篇 + 下篇)——综合自测题
linux·windows·python
浮江雾2 小时前
Flutter第四节------核心概念学习笔记:从基础语法到异步编程
linux·服务器·开发语言·笔记·flutter·入门·基础
FoldWinCard2 小时前
D4 Linux 进程 内存 等命令
linux·运维·服务器