[C++ lab] 10. 메모리 누수 체크

8,871 views

Published on

  • Be the first to comment

[C++ lab] 10. 메모리 누수 체크

  1. 1. 10. 메모리 누수 체크 박민근
  2. 2. 메모리 해제 주의 사항
  3. 3. 메모리 해제 테크닉
  4. 4. 메모리 해제 주의 사항 (2)
  5. 5. 댕글링 포인터Dangling Pointer
  6. 6. 댕글링 포인터Dangling Pointer 댕글링 포인터 이미 해제된 메모리를 가르키고 있는 유효하지 않은 포인터
  7. 7. 메모리 누수 Memory Leak 메모리 누수 (Leak) 할당된 메모리를 가르치고 있는 포인터가 없어져서 해제 할 수가 없다
  8. 8. 메모리 누수 Memory Leak 체크를 할 수 없다는 것이 더 큰 문제!!
  9. 9. 메모리 누수 체크
  10. 10. 메모리 누수 체크 - 테스트 프로그램 종료 후에 해제 되지 않은 메모리 릭을 체크하여 출력한다 릭이 발생한 메모리 크기와 메모리 내용, 할당한 코드를 보여준다. 메시지를 더블 클릭하면, 메모리를 할당한 코드로 이동!
  11. 11. 메모리 누수 체크 • 현업 개발에서는 좀 더 전문적인 도구들을 사용한다. • 상용 툴 / 오픈소스 등이 존재 한다. • 대표적인 오픈소스 : VLD
  12. 12. 가상 소멸자
  13. 13. 일반 소멸자 메모리 릭이 발생!!
  14. 14. 일반 소멸자 메모리 릭이 발생!!
  15. 15. 가상 소멸자 원인 다형성으로 인해, 오버라이딩 된 자식 클래스의 소멸자가 호출 되지 않았기 때문 해결 부모 클래스의 소멸자를 virtual로 선언 한다.

×