如何在Linux中调试Windows可执行文件

时间:2013-11-24 16:40:03

标签: linux debugging gdb

我使用的是Ubuntu 13.10。是否可以在Linux下调试Windows可执行文件?

我已经尝试了gdb,但它总是把这个错误信息告诉我。

/bin/bash: line 0: exec: /some.exe: cannot execute: Permission denied

4 个答案:

答案 0 :(得分:5)

我对此没有多少经验,但我认为,您正在寻找的是winedbg。最初,它应该允许您在Linux中调试Win32应用程序。

答案 1 :(得分:4)

我建议你试试IDA Debugger(跨平台调试器)。
希望它有所帮助。

答案 2 :(得分:0)

您正在尝试执行一个旨在在另一个操作系统中运行的程序,该程序可能使用完全不同于x86的处理器。

为了在特定的操作系统中运行可执行程序,这些模块或服务必须存在:

  • 一个模块,可以理解可执行程序的二进制代码,并在需要时将其转换为主机处理器的二进制代码。
  • 可以拦截任何标识为系统调用的指令并使用主机资源模拟其行为的服务
  • 能够加载,解析和准备流程块以模拟新的“访客”流程的模块

这只是用于执行程序。要调试它,您还需要一个可以与上述模块/服务交互的服务,以便控制该程序的执行。

也就是说,您可以使用Wine项目中的某个实用程序来调试EXE文件,因为您的Ubuntu正在x86处理器上运行。看看吧。 http://www.winehq.org/

另外,我记得VirtualBox为来宾操作系统上运行的进程提供了某种调试帮助,但我不确定。

答案 3 :(得分:-6)

不,在Linux下调试Windows可执行文件是不可能的。