꽤 많은 질문 상태. .net exe가 실행되고 내 라이브러리 (C++)가로드됩니다. .net exe를 시작할 때 mscoree가로드하는 ICLRMetaHost 또는 이와 유사한 인터페이스를 얻을 수있는 방법이 있습니까? 디버깅을 위해 기본 라이브러리에서 gc 및 메모리 관련 설정에 액세스 할 수 있도록이 작업을 주로하고 싶습니다.C 라이브러리에서 ICLRMetaHost를 얻을 수있는 방법이 있습니까
보너스 포인트는 모노 호스팅 API를 사용하는 유사한 구현을 가리 킵니다.
당신은 호스팅 API에서 "GC와 메모리 관련 설정"으로 수리를하지 않는 얻을 얻을 수 있습니다. 당신이 실제로하려고하는 것을 추측하기에 충분하지 않습니다. 책은 그것에 대해 쓰여졌습니다. 스티븐 프라츠 너는 꽤 좋습니다. –
IGCHost :: GetThreadStats 또는 ICLRGCManager :: GetStats는 유용 할 것으로 보입니다. CLR이 사용하는 메모리에 액세스하려고하므로 응용 프로그램의 각 부분에서 사용중인 메모리 양에 대한 디버그 출력을 표시 할 수 있습니다. 컬렉션 수를 얻을 수 있다는 것도 좋은 일입니다.이 기능은 앞서 언급 한 두 가지 기능에 의해 제공됩니다. – Programmdude
.NET PerformanceCounters도이 정보를 반환합니다. 사용이 매우 간편하고 맞춤 호스팅이 필요하지 않습니다. 당신이 * 정말로 * 필요로하는 것을 생각하거나 문서화하지 않는다면, 사용자 정의 호스팅은 겉으로보기에 손톱을 치는 망치 일뿐입니다. –