2012-09-30 2 views
0

가능한 중복 :
What strategies and tools are useful for finding memory leaks in .NET?쓰레기 수집하지 않은 무엇을 C# 객체 알 수있는 방법이 있습니까?

나는 잠시 동안 실행 한 후 "메모리 부족"예외를 제공하는 프로그램이 있습니다. 이것은 상당히 복잡한 프로그램이며 상당히 많은 비동기 작업을 포함합니다. 코드에서 시작하여 문제를 진단하기보다는, 내가 객체가 가비지 수집 못하고있어 메모리를 어지럽히고 된 말할 수 있다면 나에게 머리 시작을 줄 수있다 생각했다.

이 방법이 있습니까? 당신이에 구운 비동기 물건을 많이해야 할 때 개체를 확인하기 위해 프로파일 러를 사용할 수 있지만

+0

이 질문에서보세요이 실행 다음 10 스레드의 종료 후 10 스레드를 동시에 실행하고 관리되지 않는 개체를 만드는 경우를 처리 : http://stackoverflow.com/questions/134086/what-strategies - 및 - 도구-있습니다-유용한를 위해 찾는-메모리 누수 -에 - 순 –

+0

완벽한, 감사합니다. –

+5

프로파일 러를 사용할 수 있습니다. –

답변

0

은, 때로는 그에 따라 논리를 변경할 수 없습니다.

은 일반적으로 우리가 메모리 누수을 무의식적으로 이벤트 핸들러 패턴을 사용하여.

나는이에 대한 몇 가지 게시물이 있습니다 http://www.codeproject.com/Articles/123448/GC-Algorithm-and-Story-of-WeakReference

http://www.abhisheksur.com/2012/02/optimizing-inpc-objects-against-memory.html

그들은이 문제에 국한되지 않는,하지만 그것은 당신을 도울 수 있습니다.

+0

때문에 (메모리) 프로파일을 사용하여 논리를 변경해야합니까? 당신은 정교 할 수 있습니까? –

0

나는 확실히 프로파일을 사용, 나는 메모리 프로파일 링에 사용되는 것 중에 최고 것들 중 하나는 사이텍의 메모리 프로파일입니다 Scitech .NET Memory Profiler

0

사용자가 동시에 실행 특정 스레드와 같은 스레드에서 코드 제어를 비동기하기 스레딩을 사용하는 경우 예를 명시 적으로

관련 문제