在QEMU中测试执行程序相关错误问题处理

2024-02-08 05:28

本文主要是介绍在QEMU中测试执行程序相关错误问题处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、编写可执行程序,拷贝到开发板中运行

[root@myQEMU ]# mount -t nfs -o nolock 192.168.1.128:/home/hudahua/workspace /mnt
[root@myQEMU ]# cp /mnt/test/project/main .[root@myQEMU ]# ./main
-/bin/sh: ./main: not found
[root@myQEMU ]#

出现“-/bin/sh: 命令:not found”,主要是因为系统缺少某些库文件导致的。
查找交叉编译器相关的libc库文件

hudahua@wiat:~/workspace/tools/aarch64-linux-gnu-8.3$ find -name *.so
./aarch64-linux-gnu/libc/lib64/libpthread-2.28.so
./aarch64-linux-gnu/libc/lib64/libpcprofile.so
./aarch64-linux-gnu/libc/lib64/libanl-2.28.so
./aarch64-linux-gnu/libc/lib64/libm-2.28.so
./aarch64-linux-gnu/libc/usr/lib64/libanl.so
./aarch64-linux-gnu/libc/usr/lib64/libitm.so
./aarch64-linux-gnu/libc/usr/lib64/libBrokenLocale.so
./aarch64-linux-gnu/libc/usr/lib64/libcrypt.so
./aarch64-linux-gnu/libc/usr/lib64/libm.so
./aarch64-linux-gnu/libc/usr/lib64/librt.so

2、拷贝交叉编译工具的库文件

拷贝lib库相关文件至lib目录,支持动态编译的应用程序运行

hudahua@wiat:~/workspace/rootfs/busybox-1.31.0$ cd _install/
hudahua@wiat:~/workspace/rootfs/busybox-1.31.0/_install$ cp ~/workspace/tools/aarch64-linux-gnu-8.3/aarch64-linux-gnu/libc/* . -rfhudahua@wiat:/mnt$ sudo cp ~/workspace/tools/aarch64-linux-gnu-8.3/aarch64-linux-gnu/libc/* . -rf
cp: 写入 './usr/lib64/libc.a' 时出错: 设备上没有空间
cp: 写入 './usr/lib64/libc_nonshared.a' 时出错: 设备上没有空间
cp: 写入 './usr/lib64/liblsan.so.0.0.0' 时出错: 设备上没有空间
cp: 写入 './usr/lib64/crtn.o' 时出错: 设备上没有空间
cp: 写入 './usr/lib64/libatomic.so.1.2.0' 时出错: 设备上没有空间

rootfs分配空间不足

3、重新分配rootfs空间

hudahua@wiat:~$ sudo umount /mnt
hudahua@wiat:~/workspace/rootfs/busybox-1.31.0$ rm rootfs.ext4

制作一个ext4格式的磁盘空间
修改为500M

 hudahua@wiat:~/workspace/rootfs/busybox-1.31.0$ dd if=/dev/zero of=rootfs.ext4 bs=1M count=500

#格式化为ext4格式

 mkfs.ext4 rootfs.ext4

#挂载文件

sudo mount -t ext4 rootfs.ext4 /mnt/

#将rootfs的内容拷贝到rootfs中

 sudo cp _install/* /mnt/ -rf

卸载。

 sudo umount /mnt

4、测试运行程序

将rootfs.ext4 拷贝到运行目录,运行程序成功。

 hudahua@wiat:~/workspace/aarch64_rootfs$ ./qemu_ext4.sh
[root@myQEMU ]# mount -t nfs -o nolock 192.168.1.128:/home/hudahua/workspace /mnt
[root@myQEMU ]# cp /mnt/test/project/main .
[root@myQEMU ]# ./main
Hello World!
[root@myQEMU ]#

这篇关于在QEMU中测试执行程序相关错误问题处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/690023

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

缓存雪崩问题

缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。 解决方案: 1、使用锁进行控制 2、对同一类型信息的key设置不同的过期时间 3、缓存预热 1. 什么是缓存雪崩 缓存雪崩是指在短时间内,大量缓存数据同时失效,导致所有请求直接涌向数据库,瞬间增加数据库的负载压力,可能导致数据库性能下降甚至崩溃。这种情况往往发生在缓存中大量 k