저는 C# 4.0 관리 코드 응용 프로그램을 만들고 있습니다. CLS를 준수하지 않는 외부 DLL을 사용하고 있습니다..NET에서 메모리 누수가 발생할 수 있습니까? 그렇다면 가장 좋은 도구는 무엇입니까?
DLL의 메모리 누수를 검사하기 위해 메모리 누수 탐지 도구가 필요합니까? 그렇다면 가장 좋은 도구는 무엇입니까?
저는 C# 4.0 관리 코드 응용 프로그램을 만들고 있습니다. CLS를 준수하지 않는 외부 DLL을 사용하고 있습니다..NET에서 메모리 누수가 발생할 수 있습니까? 그렇다면 가장 좋은 도구는 무엇입니까?
DLL의 메모리 누수를 검사하기 위해 메모리 누수 탐지 도구가 필요합니까? 그렇다면 가장 좋은 도구는 무엇입니까?
CLR 프로파일 러, VSTS 프로파일 러, .NET Memory Profiler 또는 CLR 프로파일 러와 같은 도구를 사용하여 모든 .NET 프로그램에서 메모리 누수 찾기 및 메모리 사용 최적화를 할 수 있다고 말한대로 개체 크기 등을 확인할 수 있습니다.
관리되는 코드의 경우에도 메모리 누수가 발생할 수 있습니다. 당신이 실제로 하나를 찾지 않으면 나는 메모리 누수를 파헤지 않을 것이다.
누출을 조사해야 할 경우 ANTS Profiler을 제안 하겠지만 한계가 있으므로 사례별로 취해야합니다.
메모리 누수가있는 .NET 코드에 대한 좋은 참고 자료를 찾을 수 있는지 알아보기로했습니다. 그러나 Oded가 가지고있는 링크는이 점을 상당히 잘 보여줍니다. –
예, .NET에서 메모리 누수가 발생할 수 있습니다. 대부분의 클래스가 자체적으로 비 관리 코드로 호출하기 때문에 기본 클래스 라이브러리 외에는 아무것도 사용하지 않을 때도 사용할 수 있습니다.
한 번 이상 열거 한 후에 System.DirectoryServices.SearchResultCollection을 처리하지 않았기 때문에 메모리 누수가 발생했습니다.
그러나 누출 감지 도구를 사용할 수 있는지 알 수 없습니다.
무료 WinDbg, SOS 및 GCRoot를 사용하여 메모리 누수를 진단 할 수 있습니다. David Anson은 this blog post에 대한 정보를 보여줍니다. Rico Mariani는 WinDbg 및 SOS 사용시 good blog post도 가지고 있습니다.
JustTrace, dotTrace 및 ANTS Profiler과 같은 기타 제품은 이러한 종류의 문제를 진단하는 데 도움을 줄 수 있습니다.
메모리 누출이 의심 되십니까? –
관련 질문 : http://stackoverflow.com/questions/2526037/why-can-net-not-have-memory-leaks/2526058#2526058 – Oded
여기에는 "최고의 도구"가 없습니다 ... 항상 켜져 있습니다. DLL은 무엇을합니까? 예를 들어, 관리되지 않는 메모리를 사용하는 DLL이 있고, 다른 DLL이 기본입니다.이 도구를 모두 사용하지 않아도됩니다. – Yahia