【问题标题】:GDB an ELF File Under Win32GDB Win32下的ELF文件
【发布时间】:2013-07-31 16:58:27
【问题描述】:

我想研究ELF重定位机制,所以我用NASM组装了一个x86汇编程序来产生一个ELF文件,但是在Win32下。然后我使用了mingw32的gdb来调试它。它加载得很好,我可以使用“list”命令查看程序。但是,我无法运行它。我收到以下消息:

Starting program: c:\Projects\NasmProjects\Test01\Hello.o
Error creating process c:\Projects\NasmProjects\Test01\Hello.o

有没有办法解决这个问题?

【问题讨论】:

  • 什么?您希望如何执行未链接的目标文件?!

标签: debugging x86 gdb nasm elf


【解决方案1】:

有没有办法解决这个问题?

没有。

首先,您已经组装了一个可重定位目标文件(ET_REL 类型)。没有操作系统会“运行”此类文件——支持执行 ELF 文件的操作系统需要完全链接的可执行文件(ET_EXECET_DYN 类型)。

其次,即使您设法链接ET_EXEC,您仍然需要您的操作系统知道如何加载和开始执行这样的文件。 Linux 和 Solaris 内核确实知道这一点,AIX 和 Windows 内核

【讨论】:

    猜你喜欢
    • 2021-05-28
    • 2011-03-16
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多