问题描述
我正在尝试使用目标Architecture RISC-V对用C ++编写的代码进行性能分析。该代码已使用RISC-V GNU工具链进行了交叉编译。我的可执行文件是unit_tests“ ELF 64位LSB可执行文件,UCB RISC-V,版本1(GNU / Linux),动态链接,对于GNU / Linux 4.15,是/lib/ld-linux-riscv64-lp64d.so.1。 0,使用debug_info,未剥离”,该信息是使用file命令检索的。
我想做的是使用gprof对它进行性能分析。但是要执行gprof,需要生成gmon.out,要生成gmon.out,应首先运行可执行文件。我无法在某些不同的体系结构中运行其他体系结构的二进制elf。我需要为此建议在哪个模拟器或模拟器上运行,或者我可以在其上运行?
我尝试使用以下链接安装qemu:
,但无法成功安装。 也尝试过使用秒杀,但收到“ bad synccall”错误。任何潜在客户如何解决此问题。
解决方法
我在用户模式下使用qemu解决了这个问题。请按照以下链接中的说明进行操作: Manual-qemu-user
我可以在其中运行为目标RISC-V生成的二进制小精灵,该二进制小精灵可以在x86 Linux计算机上运行。