Tôi đã phát hiện ra một loạt rò rỉ bộ nhớ với CRTDBG nhưng thấy khó khăn để theo dõi để cài đặt Visual Leak Detection. Điều này cho thấy một số lượng rò rỉ nhất quán mà tôi bắt nguồn từ các lớp trừu tượng không có các destructor ảo. Tôi cố định này và VLD bây giờ cho thấy không có rò rỉ bộ nhớ trong ứng dụng của tôi, tuy nhiên CRTDBG vẫn còn và nó hiển thị liên tục khoảng 100 hoặc hơn rò rỉ.VS2012, C++ 11 và phát hiện rò rỉ bộ nhớ (VLD vs CRTDBG)
Một trong hai công cụ này có thể tin cậy với C++ 11 không? Tôi đang sử dụng rất nhiều con trỏ độc đáo và hầu như không tạo ra bất kỳ vật thể mới nào mà không có chúng nên không thể hiểu được nơi rò rỉ đang đến từ đâu.
Bạn có bất kỳ đối tượng toàn cục nào, có lẽ với 'unique_ptr'? Nếu bạn làm như vậy, chúng có thể được coi là "bộ nhớ bị rò rỉ". – Ali
Bạn nói đúng, tôi tạo một thể hiện công cụ trò chơi của tôi trong chức năng chính mà tôi không xóa trước khi gọi _CrtDumpMemoryLeaks(). Tôi ngớ ngẩn quá! Nó nằm trên ngăn xếp để đặt thể hiện bên trong một khối trước khi _CrtDumpMemoryLeaks() làm giảm rò rỉ xuống 1 với CRTDBG. Cảm ơn! Bạn có thể thêm câu trả lời này làm câu trả lời để tôi có thể chấp nhận câu trả lời đó không? – Rajveer
Tôi vừa đăng câu trả lời. Dù sao, upvoted câu hỏi của bạn! Thật tốt khi thấy rằng bạn quan tâm đến việc rò rỉ bộ nhớ này nhiều, tôi thường muốn các nhà phát triển khác làm như vậy ... – Ali