【问题标题】:How to Debug MIPS elf?如何调试 MIPS 精灵?
【发布时间】:2012-06-07 05:47:42
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: x86 mips x86-64 qemu linux-distro


    【解决方案1】:

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

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

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

    【讨论】:

    • 不,我没有任何 MIP 硬件,我想在 vm 上运行 mips 发行版,但我找不到我需要的东西 - 一个实际下载 MIP 预构建发行版的地方.我知道我可以从源代码构建内核,但这很麻烦。我看到你给了我一个指向 debian mips 指南的链接,但我不能从那里下载它。我知道如何安装linux足够好,它正在找到它。
    • 另外,我认为 MIPS 程序集更易于理解和更容易的说法是正确的,但我总是在 x86 上调试应用程序。我更习惯 x86-出于实用主义和实用性的考虑,我有点想坚持使用它。不过谢谢!XD
    • 您可以从 Debian 获得预构建的发行版。检查我给你的链接。
    猜你喜欢
    • 2012-03-24
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 2012-01-03
    • 2015-04-12
    • 2019-12-20
    • 1970-01-01
    相关资源
    最近更新 更多