2011-09-07 6 views
1

가능한 중복 :이 엄격히 코드 관련 아닙니다로 보는이를 게시 할 수있는 권리 장소가 아닌 경우
C# memory leak?.NET 프레임 워크 문제?

죄송합니다.

기본적으로이 작업이 시작된 이래로, 완벽하게 작동하지 않은 프로그램이 갑자기 메모리 부족 예외를 던지기 시작했습니다. 사용량을 확인한 후 초당 1MB의 메모리 사용량 증가를 발견했습니다! 이것은 컬렉션을 반복하고 많은 다른 메소드를 호출하는 프로그램의 일부에서 발생합니다. 따라서이 객체가 사용 후에도 메모리에 남아있는 것처럼 보입니다.

이 문제는 다른 사람들에게 어떤 영향을 미칩니 까? 나는 코드를 디버깅하여 아무 것도 공개하지 않고 모두 폐기하도록 보장했지만 아무 소용이 없습니다. 아마도 .NET Framework가 실행되는 컴퓨터에서 .NET Framework가 손상되어 가비지 수집이 실행되고 있지 않은지 궁금합니다.

은 나중에 희망이 이론을

+1

[동일한 질문을 두 번 게시하지 마십시오.] (http://stackoverflow.com/questions/7332283/c-memory-leak). 추가 정보가 있으면 원래 질문을 편집 할 수 있습니다. – Justin

+0

이러한 루프의 개체에 이벤트 처리기를 할당하고 있습니까? –

+0

프로파일 러를 사용하여 어둠 속에서 촬영하는 것보다 문제의 위치를 ​​알아내는 것이 좋습니다. 많은 좋은 옵션이 있습니다. 레드 게이트 (RedGate)의 개미 프로파일 러 (Ants Profiler)를 시험해 보았는데 잘 작동하는 것처럼 보였다. –

답변

1

가비지 콜렉션을 증명하기 위해 다른 컴퓨터에서 테스트 할 계획 그들에게 남아있는 참조가 힙 만 정리 객체 것이다. 모든 것을 처리했음을 보장 했음에도 불구하고 사용 후 객체에 대한 이러한 참조를 특별히 null로 지정하는 것도 좋은 아이디어입니다.

아마도 귀찮은 코드를 게시 할 수 있습니까?

1

dotTrace 도구를 살펴보십시오. 10 일 평가판을 사용할 수 있습니다.

사용하면 메모리에서 제거해야하는 개체 참조를 유지할 수 있습니다.

관련 문제