2010-05-12 25 views
3

我有應用程序,我編譯與VS 2008在Windows 7與c + + 而我得到了異常,我試圖抓住這個我創建的pdb文件(因爲我編譯在發佈)。並看到部分堆棧,但它並沒有給我提示錯誤的位置。 我正在尋找免費的方式來獲得這個錯誤。你可以建議自由的方式來做到這一點?如何配置文件和捕獲C++的雙重刪除和內存損壞

回答

4

的Visual C++內置了相當不錯的C運行時內存調試工具

#define _CRTDBG_MAP_ALLOC,或閱讀:The CRT Debug HeapMemory Leak Detection Enabling

它可以檢測:

  • 內存泄漏
  • 雙刪除
  • 寫作剛剛過去分配的內存

的結束。如果你有一個可重複的情況下,問題的分配總是在那裏發生在同一時間,您可以使用它將其分配到調試器中。

還有一些商業工具,如BoundsChecker,HeapAgent和Purify,以及像Fortify這樣的免費工具,當然你也可以推出你自己的工具,但是你可以用內置的VisualStudio來實現。

+0

curtis。你可能有鏈接到Fortify下載?提前致謝。 – ossandcad 2010-05-13 00:00:49

+0

我可以在發佈模式下測試它嗎? co'z它在哪裏是我的問題 在調試它工作正常 – user63898 2010-05-13 06:38:22

+1

@ossandcad:它看起來像它最後的安息之地是Geocities。我在這裏找到了一個副本:http://www.gnu-darwin.org/www001/src/ports/devel/adime/work/adime-2.2.1/include/fortify.h - IIRC 2.2是最新版本。 – 2010-05-13 10:43:12