用于makefie内置C ++程序的图形免费调试器(Windows XP)

时间:2012-01-21 11:28:23

标签: c++ windows debugging makefile

我开发的软件使用命令行makefile。我的环境尽可能使用免费工具。如果你问我使用哪个版本的make我会很难指定,因为我已经安装了mingw,cygwin和dev-cpp。但是,我确实知道它是“免费的”,而不是微软,而我目前的路径上的那个是来自dev-cpp目录。无论如何这不是这个问题的关键。

我的代码从SCM中获取,构建,最后exe被放在bin目录中。 我想要一个可以调试此exe的免费全屏图形调试器。我不是在寻找IDE,但可能需要答案安装IDE。我肯定会考虑从命令行makefile转到IDE等价物。

我已经尝试过使用MSVC,我可以通过在启动后附加到进程来实现它。这不是理想的两个原因:工具必须是免费的,我应该能够从启动时调试它。顺便说一句,我不会考虑MSVS Express。我已经尝试了它并且它一直挂着所以它现在已经卸载好了!

在您的回答中,您可能希望包含说明,因为通常这些内容只有在IDE内部构建程序时才能顺利运行,我不会这样做。 首选答案将指定一个安装占用空间小的工具,也可以在Linux上运行。指定任何先决条件,例如应该使用什么编译器构建代码。当然,如果说明太长,那么自己安装的列表就是一个帮助。

我肯定会 upvote 一个答案,解释我如何使用Dev-CPP做到这一点,因为我已经安装了它。这并不意味着它将是首选答案。这些是按优先顺序排列的理想方框。

  1. 免费(基本)
  2. 与构建过程(Essential)分离
  3. 全屏图形(基本)
  4. 简约。只需一个调试器就是最好的。最大限度地减少膨胀和学习曲线(理想情况下)
  5. 功能强大的调试器,即您可以合理地使用它(理想情况下)
  6. 跨平台(理想情况下)
  7. 4和5可能是矛盾的,但不要担心。这就是权衡取舍的地方。

    编辑:一些非常好的答案。请说明您勾选的上述哪些方框。

4 个答案:

答案 0 :(得分:2)

Cygwin + http://www.gnu.org/software/ddd/

DDD是gdb的图形前端。

你提到你熟悉gdb本身,所以这应该是自然而然的。

答案 1 :(得分:1)

安装了工具集后,您应该可以使用gdb(例如,包含在MinGW中)。它是简约的,但也没有任何真正的ui(只是命令行)。要运行,只需使用可执行文件作为参数调用它:gdb myexe。传递参数:gdb --args myexe first second third

如果您更喜欢IDE,您几乎可以使用任何IDE并添加makefile项目而不是标准项目。大多数人支持这一点。

对于Windows下的(IMO)最佳/最有效的调试,您仍然需要切换到MSVC。没有办法解决。其他免费的IDE提供类似的东西和功能,但到目前为止,没有人设法得到至少几乎相同。它不应该卡在半合理的现代PC上。可能还有其他一些问题。

答案 2 :(得分:1)

大多数专业Windows开发人员使用WinDBG,这是围绕多个命令行调试程序的UI包装器。它是比MSVC更强大的调试器,因为它可以在用户和内核模式下运行,并且具有灵活的基于命令行的扩展集,可以执行大量自动化任务。这是免费的,就像在啤酒中一样,尽管可能不像在演讲中那样。使用它就像使用gdb一样,尽管UI版本对监视变量,本地,线程,内存等都有很好的可停靠窗口支持。

它可以作为Windows(免费)或Windows SDK ...

的调试工具的一部分

http://msdn.microsoft.com/en-us/windows/hardware/gg463009

答案 3 :(得分:1)

我不确定为什么在进程实际启动之前,MSVC不适合您使用调试器。你尝试过这些步骤了吗?

  1. 将所有调试符号复制到与EXE相同的目录中(如果尚未存在)。
  2. 启动Visual Studio(Visual C ++)
  3. 从顶部菜单中选择文件 - >打开 - >项目/解决方案。 (好像你打算打开一个.vcproj文件)。
  4. 从文件选择对话框中,导航到要调试的EXE目录。
  5. 如有必要,将文件类型下拉列表更改为“所有文件”或“exe文件”。或者只需在文件名框中输入 *。* ,即可显示该文件夹中所有文件的对话框。
  6. 选择EXE。
  7. 从顶部菜单中选择Debug->“Step Over”。
  8. 如果一切顺利,IDE调试器将指向“main”的第一行,您可以继续单步执行代码。它可能会提示您输入源文件的位置。只要告诉它在哪里找到它,它应该找到其他所有东西。

    现在从你的帖子的语气,我可以告诉你会欣赏更“低级”的东西。我会建议“windbg”。它也适合你。

    http://msdn.microsoft.com/en-us/windows/hardware/gg463009