SOS 명령과 그 출력을 중심으로 작업하고 있지만 실제로 모든 유형을 얻는 방법이 아닌 것으로 나타났습니다. 어떻게 든 현재 사용 중입니다. 지금까지의 가장 좋은 방법은 !dumpheap -stat
이지만 인스턴스가있는 유형 만 나열합니다. 그러나 ValueType이 박스 처리되지 않으면 해당 유형이 !dumpheap -stat
에 표시되지 않습니다. (그들은 힙에 할당되지 않기 때문에 놀라운 일이 아닙니다.)! dumpheap -stat에 나열되지 않은 ValueTypes의 이름/MT를 얻는 효율적인 방법
제 질문은 : 현재 어떤 추가 ValueTypes가 존재하는지 파악할 수있는 효율적인 방법이 있습니까? 내 말은, 개별 힙 개체 (출력을 기반으로 한 !dumpvc <mt> <address>
과 같은 것)를 검사 할 때 필요에 따라로드 할 수 있지만 표시되는 통계의 경우 유형 (인스턴스/클래스 정의)을 보는 것보다 간단한 방법을 통해 유형을 찾는 것이 좋을 것입니다. of) 모든 알려진 클래스를 사용하여 추가 ValueTypes를 사용하는지 확인합니다.
이상한 질문입니다. 왜 프로그램이 System.Int32를 전혀 사용하지 않는다는 것을 알고 있습니까? ! dumpmodule -mt는 값 유형을 포함하여 모듈의 모든 유형을 나열합니다. –
저는 Int32 및 유사한 기본 유형을 실제로 따르지 않습니다. 두 개 이상의 멤버가있는 복합 유형은 흥미로운 부분입니다 (예 :'System.Drawing.Color'). – Wormbo