1

假设我有一个 MIPS elf 二进制文件(意味着有人在 MIPS 上交叉编译/编译一个 MIPS linux 可执行文件)

是否有任何编译为在 mips 架构上运行的 Linux 发行版可能运行可执行文件?我环顾四周,但我只能找到linux-mips。如果发行版已经安装到 VM 磁盘文件中,那就更好了,你可以直接下载它。

有没有保证在非 MIPS 发行版上运行 MIPS 精灵的方法?像使用一些 qemu 设置什么的?(“保证”我的意思是如果它在 MIP 发行版中运行,那么它应该毫无疑问地在模拟器中运行,并且所有功能都绝对在模拟器中实现,因此无论在 MIPS 发行版中会发生什么(显然是特定于用户区)也会出现在模拟器中,这样我就有信心它会正常工作)。

最后,如果我想调试 MIPS,但我不是很了解,除了 VM 之外,是否有任何一种学习工具可以真正很好地理解 MIPS 正在做什么?这是我的想法——使用一个工具,您可以附加到 MIPS 编译的 elf 或 x86,当您浏览可执行文件中的指令时,您可以看到可执行文件格式的转换,以控制调试器到您选择的格式。一个仍然有效的不太好的替代方案是,您可以将任何 MIPS 指令传递到文本框中,然后查看具有等效 x86 指令的另一个文本框,反之亦然。

4

1 回答 1

4

如果您拥有可以运行 Linux 的具有 MIPS CPU 的硬件,最简单的方法是使用 MIPS 架构的 Linux 发行版之一。一个常见的发行版是 Debian 发行版,您可以在此链接中找到有关 Debian for MIPS 的更多信息。

如果您无法访问 MIPS 硬件,那么在 x86 主机上运行 QEMU 就足够了。看看MIPS-QEMU 指令

最后,一旦您安装了 MIPS Linux,将您的 MIPS 二进制文件复制到其中,登录并使用它运行 gdb。这应该为您提供一个可靠的环境来调试它。说到理解 MIPS 汇编,架构简洁明了,而且比其他 Arch 的汇编代码更容易阅读 MIPS 汇编。

于 2012-06-02T12:40:09.883 回答