작업 관리자에서 볼 수있는 USER 개체가 새고있는 프로그램이 있습니다. 누출되는 리소스 유형을 확인하는 방법이 있습니까? GDI 누수에 대한 GDI보기와 같은 프로그램을 사용하여 개체 유형별로 분류했습니다. USER 객체에 대해 이와 비슷한 것이 있습니까?Windows USER 개체 누수를 어떻게 추적합니까?
4
A
답변
0
2
Create/DestroyWindow를 후킹하여 창 핸들 누수를 추적 한 다음 전달 된 핸들을 추적 할 수 있습니다. 이렇게하면 아직 삭제되지 않은 초과 핸들이 남아있는 WPA에서 ETW 추적 그래프를 쉽게 생성 할 수 있습니다.
는 EasyHook의 내 포크 나중에 승 8에 64를 위해 또한 작품
http://geekswithblogs.net/akraus1/archive/2016/01/30/172079.aspx를 참조하십시오. 다음은 EasyHook 포크의 일부인 ETWStackwalk.exe로 만든 이미지입니다. WPA를 사용하면 AllocSize 열에서 0보다 큰 값을 확인하여 열리고 닫힌 모든 창을 볼 수 있습니다. 그런 다음 여전히 핸들이 열려있는 이벤트를 필터링하고 할당 된 위치에서 직접 호출 스택을 가져옵니다. 지금까지.
당신은 당신이 누출에 대한 책임을 의심 방법에 대한 도구를 확장해야 브러쉬 또는 글꼴 후에 경우. 제시된 접근법은 어떤 메소드가 누수를 생성하는 것으로 의심되고 리소스 할당 및 무료 호출을 후킹 할 수있는 한 모든 리소스 누출을 해결할 수 있습니다.
관련 문제
- 1. Linux에서는 사전 빌드 된 소프트웨어의 메모리 누수를 어떻게 추적합니까?
- 2. 각 setInterval주기를 어떻게 추적합니까?
- 3. Windows Forms에서 GDI 누수를 어떻게 만들 수 있습니까?
- 4. UIImage - 어떻게 색인을 추적합니까?
- 5. 쿼츠는 시간을 어떻게 추적합니까?
- 6. QRcode 사용을 어떻게 추적합니까?
- 7. 디자이너를 어떻게 추적합니까?
- 8. SQL Server 오류 감사 이벤트는 어떻게 추적합니까?
- 9. Windows Server 2003 SP2에서 IIS 6의 모든 요청을 어떻게 추적합니까?
- 10. 사용자 지정 Windows Workflow Foundation 작업 속성을 어떻게 추적합니까?
- 11. Windows 2003 웹 서버에서 수신 IP 주소를 어떻게 추적합니까?
- 12. Python에서 애니메이션 객체를 어떻게 추적합니까?
- 13. Firefox 경고 메시지를 어떻게 추적합니까?
- 14. 데이터베이스 변경 사항을 어떻게 추적합니까?
- 15. linq2sql은 데이터베이스 객체를 어떻게 추적합니까?
- 16. X11에서 관련 창을 어떻게 추적합니까?
- 17. UINavigationController는 어떻게 여러 UIViewController를 추적합니까?
- 18. 앱이 표시되는 시간을 어떻게 추적합니까?
- 19. 어떻게 PHP로 세션 시간을 추적합니까?
- 20. BufferedReader는 읽은 행을 어떻게 추적합니까?
- 21. C에서 메모리 사용을 어떻게 추적합니까?
- 22. 파일이 서버에 업로드 된 장소를 어떻게 추적합니까?
- 23. 처리되지 않은 IIS 예외 - 어떻게 추적합니까?
- 24. 응용 프로그램과 함께 SMB의 파일을 어떻게 추적합니까?
- 25. 외부 PostBackUrl이있는 버튼의 클릭을 어떻게 추적합니까?
- 26. SOA에서 웹 서비스 소비자 종속성을 어떻게 추적합니까?
- 27. 페이스 북에서 누군가의 IP 주소를 어떻게 추적합니까?
- 28. PHP는 연관 배열에서 순서를 어떻게 추적합니까?
- 29. 프로덕션 환경에서 발표 한 내용을 어떻게 추적합니까?
- 30. R 패키지 기능이 실패한 위치를 어떻게 추적합니까?
추적하는 데 사용할 Windows 버전을 지정하면 도움이됩니다. Windows 7에는 도움이되는 기본 제공 도구가 있습니다. 필자는 개인적으로 AQTime을 프로파일 러로 사용하는 것을 선호합니다.이 프로파일러는 "누수 탐지"기능을 갖추고 있습니다. – 0xC0000022L
Windows 7을 실행 중입니다. 내장 도구에는 어떤 것이 있습니까? – Ryand
Application Verifier의 줄을 생각하고 있었지만 메모리가 힙 문제 만있는 것은 아닙니다. ETW (Windows 용 이벤트 추적)가 적합한 경로 일 수 있습니다. 혼란을 드려 죄송합니다. – 0xC0000022L