ANTS 프로파일 러를 사용하여 응용 프로그램에서 메모리 누수를 추적하려고합니다. 가비지 컬렉터에서 가비지 수집기에 영원히 앉아있는 System.Transactions.SafeIUnknown 객체의 목록이있는 곳을 추적하여 최종 자 대기열에 있지만 결코 공개되지 않습니다..NET에서 가비지 수집기 System.Transactions.SafeIUnknown이있는 가비지 수집기
System.Transactions.SafeIUnknown에 대한 문서가 없기 때문에 어떤 것을 만들거나 참조 할 것인지 결정할 수 없으며 의도적 인 부분이 아닙니다.
나는이 문제에 대해 어느 정도 알고있는 사람이 있기를 바라고 있습니다. 그것은 20 바이트의 작은 유출이지만 우리의 애플 리케이션이 끝날 때 며칠 동안 실행될 때 누수가 증가하고 우리는 이러한 대기 완료의 수백만을 가지고 있으며 많은 양의 많은 메모리를 먹기 시작합니다.
누구로부터 아이디어를 얻을 수 있습니까?
후속은
내가 사용중인 특정 라이브러리에 아래로 추적했습니다. 이 특정 라이브러리를 통해 SQL 문을 실행 한 후에는 남겨진 것 같습니다. Statementment는 트랜잭션으로 래핑되지 않지만 제네릭 형식의 다소 혼란스러운 루프와 현재 스포츠 용으로 전달 된 대리자 및 더 많은 클로저로 래핑 될 수있는 클로저로 이중 트립 간접 지정과 같이 보이는 것을 통해 실행됩니다. 계속 정확하게 연결하려고합니다. 첫 번째 호출 포트는 비슷한 메커니즘을 사용하여 다시 생성 할 수 있는지 확인하려고 시도하는 것입니다.
의견을 보내 주셔서 감사합니다. 이전 의견에서 언급 한 바와 같이 조사를 계속하고 내가 어디로 갈 수 있는지 보도록하겠습니다. – Bigtoe
그건 그렇고 MS SQL 데이터 제공자예요. – Bigtoe