我想調試一個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版本,您可以使用我在原始答案中發佈的鏈接。 –