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

相关推荐
♛识尔如昼♛4 分钟前
C 进阶(2) - 文件I/O
linux·文件i/o
顺风尿一寸8 分钟前
深入 Linux 内核 6.8.12:从 Futex 到 MCS 队列自旋锁的完整同步机制剖析
linux
DFT计算杂谈27 分钟前
VASP官方教程 TRIQS DFT+DMFT计算教程
运维·css·自动化·html·css3
橙子也要努力变强32 分钟前
信号的保存、阻塞与递达
linux·服务器·c++
进阶的猪1 小时前
使用printk对SPI子系统全过程的追踪
linux·服务器
2301_803554521 小时前
Linux里面的文件描述符和windows里面的句柄
linux·运维·服务器
IT摆渡者1 小时前
linux 系统安全检查
运维·网络·经验分享·笔记
星马梦缘1 小时前
如何切换window-ubuntu双系统【方案一】
linux·ubuntu·双系统
云动课堂1 小时前
【运维实战】Nginx 高性能Web服务 · 一键自动化部署方案 (适配银河麒麟 V10 / openEuler / CentOS 7/8)
运维·前端·nginx
idolao1 小时前
CentOS 7 安装 jakarta-tomcat-connectors-jk2-src-current.tar.gz 详细步骤(解压、编译、配置)
linux·centos·tomcat