Visual Studio調試程序時,程序退出后出現內存泄漏:
Detected memory leaks!
Dumping objects ->
?{9554} normal block at 0x003CDCC0, 44 bytes long.
Data: < e n d > 20 C1 65 01 01 00 00 00 6E 00 00 00 9C CE 64 01
?{9553} normal block at 0x003CDB58, 8 bytes long.
?Data: < D e < > 44 BD 65 01 C0 DC 3C 00
{9552} normal block at 0x003CDC50, 48 bytes long.
?Data: < e > A0 95 65 01 01 00 00 00 19 00 00 00 19 00 00 00
?Object dump complete.
解決方法:
1. 在程序開始啟動的地方(足夠前的地方,只要在泄漏的內存分配的前面)使用代碼:
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
?_CrtSetBreakAlloc(9554);?? // 9554為上面內存泄漏的塊號.
?_CrtSetBreakAlloc(9553);
?_CrtSetBreakAlloc(9552);
2. 然后debug運行,程序自動斷點在"內存塊9554"分配的位置: