在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

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

Java堆转储文件之1.6G大文件处理完整指南

《Java堆转储文件之1.6G大文件处理完整指南》堆转储文件是优化、分析内存消耗的重要工具,:本文主要介绍Java堆转储文件之1.6G大文件处理的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言文件为什么这么大?如何处理这个文件?分析文件内容(推荐)删除文件(如果不需要)查看错误来源如何避