Tôi đang sử dụng instructions found here để cố gắng tìm rò rỉ bộ nhớ trong ứng dụng Win32. Như đã trình bày, tôi đặtVisual Studio 2008 (C++) phát hiện rò rỉ bộ nhớ không hiển thị vị trí tệp/phương pháp - cách làm việc đó?
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
dòng ở phía trên cùng của một tập tin (file cpp có chứa WINAPI _tWinMain) và sau đó tại thời điểm xuất cảnh của WinMain tôi thêm
_CrtDumpMemoryLeaks();
Đáng tiếc là tôi không xem số dòng/vị trí cho các rò rỉ (nhưng tôi nhận được một danh sách các rò rỉ).
Tôi cũng đã cố gắng đưa
_CrtSetDbgFlag (_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
_CrtSetReportMode (_CRT_ERROR, _CRTDBG_MODE_DEBUG);
vào đầu WinMain - và một lần nữa, không may mắn.
Tôi thấy điều này lạ vì tôi thường không gặp vấn đề gì khi phát hiện rò rỉ hoặc báo cáo tự động.
Đây là một ứng dụng cũ, rất lớn mà tôi đang làm việc cho một nhà tuyển dụng mới. Trong quá khứ tôi đã làm việc từ trình thủ thuật VS tiêu chuẩn.
Bất kỳ đề xuất nào về cách nhận các dòng/phương pháp nguồn đang gây ra rò rỉ? (Hoặc ít nhất là dòng cho "mới" gọi
EDIT
:I also tried visual leak detector - EDIT không thành công
Rất lạ
tôi đã cố gắng sử dụng các định nghĩa lại..? của mới như được liệt kê dưới đây, tuy nhiên tôi nhận được lỗi khi tăng được biên dịch.
thử dùng thử. nó sẽ giúp bạn. –