我想调试一个C++自定义类,涉及分配给我编写的堆并在Cygwin GCC/G ++中编译的内存。如果我运行我的测试程序,它不会明确地给我一个段错误,但在程序结束时,它会显示“中止(核心转储)”。我也似乎无法编写一个测试程序,它会给我一个我可以用Cygwin GDB找到的段错误。因此,我正在寻找一个内存调试器,希望它会有所帮助。用Cygwin GCC编译的C++程序是否有免费的内存调试器?
我运行Windows,我没有Visual Studio,我不想尝试弄清楚如何在另一个命令提示符下编译我的程序,用于Dr. Memory等调试器。
我可以使用哪种内存调试器?
我会编辑,如果我需要添加的东西。
你介意告诉我一点关于如何使用这个?我不确定哪些文件需要放在哪里。 – CalvinCopyright
好的,所以我找到了这个链接:http://courses.cs.vt.edu/~cs2604/spring00/Memwatch/我将.h和.cpp文件下载到了我的目录中。我在custom.h的顶部添加了代码,然后在Cygwin上运行以下代码:“g ++ -g main.cpp custom.h memwatch.cpp -o main.exe”。它说:“memwatch.cpp:23:22:致命错误:alloc.h:没有这样的文件或目录”。有什么问题? – CalvinCopyright
嗯,他们没有在C++版本中包含默认的可用库...我读取了memwatch.c文件,它已经内置了对C++的支持,并且由于C++基本上是C与对象,所以您应该能够使用C版 - 让我知道这是如何工作的。顺便说一句,对于C版本,您可以使用我在原始答案中发布的链接。 –