截调试Windows的应用程序在Linux框在日食CDT
-
05-07-2019 - |
题
我从窗户以Ubuntu Linux,现在我想要发展的环境。问题是我需要的
- C/C++IDE相当于Visual Studio
- 方式产生Windows PE二进制文件
- 方式做调试Windows PE二进制文件
在我第一次尝试代码::块。 在这里, 我找到指南,以设立用于交叉发展所以我管理得到"hello World",编制和运行,在葡萄酒。此外,调试工作。
但后来我发现,蚀+CDT插件是更先进的环境。我花了一些时间和最后获得项目编制相联系。
现在我想让MinGW洞察版本的地理数据库内工作的日食CDT。简单的方式使用调试器中所描述的代码::块的指南不会再工作。我继续收到"的错误创造届会议"的消息。
所以我的问题是,如何,我可以使用MinGW库下的葡萄酒作为调试器后端在日食?或者,什么是最好的IDE为Linux->窗户交叉的发展?
解决方案
我不知道,没有人回答这个呢。
QtCreator.不应混淆它的名字,QtCreator工作是很好与任何种类的C++码,你不需要在脱使用它。这就像自由和开放源码软件Visual Studio:它甚至有一个法检查"在飞"。
MinGW.这里没什么好说的,这只是创造了赢得PE可执行文件,它的工作。它是在仓库。注意,赢得GUI应用程序具有特殊的位在它的PE头设置;因此,为了创造GUI应用程序与MinGW你必须通过一个选项
-mwindows
设置这一点。这是一个问题。真:我只是想要调试一windows的应用程序,并且没有找到一种方式来做到这一点。我不久将在这里回顾哪些我尝试过这么远,只是为了你不要步骤在我的耙子:
winedbg.可能它应工作,但对我来说没有。当我设置一个断点,即像这样的
br 43
, 它说Unable to add breakpoint (unknown address 7b860807)
.winedbg.是啊,再说一次,但这次我们将用它这样
winedbg --gbd
让它的代理一个命令gdb
.也许这是唯一的方式调试应用程序,但它有一个缺点:第一,为了重新启动一个程序,你必须退出调试器;如果你进入run
它说,遥远的目标并不支持这一点。第二,我没有,甚至知道如何调试一个多线程的应用程序;当我第一次开始这一点,我偶然发现了一个错误Non-stop mode requested, but remote does not support non-stop
, 之后设置一个断点并开始,它说:Cannot insert breakpoint 1.
和Cannot access memory at address 0x401654
.因此,为了使这项工作中,我需要重新命名我.gdbinit
文件 (即不停的模式设置有).gdb.exe.我确信,我找到了一种方法:简单的使用情况的一个版本的windows
gdb
应该解决的问题;更多的,对我来说,我是一个Emacs的家伙,这将是绝对相同的作为调试用机库.但可惜的是,windows库只是没有工作。如果我运行了它,并进入任何指令,它只是什么都不做。它只有在发生反应 Ctrl-c 和 Ctrl-z 命令。可能我将尝试我的业余时间问题有关的邮件列表。好了,现在我们不能用它...
因此,我们必须做的调试?最有可能寻求的另一个窗户调试器,下工作 葡萄酒.如果我正确地记得,OllyDbg的工作,但我不知道现在的时刻如何显示它的源码。
其他提示
您可以尝试 NetBeans 。这是一个很好的免费开源软件 和跨平台支持IDE。
在VM中运行Windows?
说真的,你的问题很好,但可能不值得花时间找出答案(尤其是:因为似乎没有人有一个现成的答案)。如果您还有实际工作要做,那么VM中的本机Windows或Windows就是答案。