Довольно многое, о чем говорится. У меня есть .net exe, который запускается, а затем загружает мою библиотеку (в C++). Есть ли способ получить ICLRMetaHost или аналогичный интерфейс, который mscoree загружает, когда он запускает .net exe? Я хочу сделать это в первую очередь, поэтому я могу получить доступ к настройкам gc и памяти из моей родной библиотеки для целей отладки.Есть ли способ получить ICLRMetaHost из библиотеки C++
Бонусные баллы указывают на аналогичную реализацию, используя моно-хостинг api.
Вы не можете возиться с настройками «Gc и памяти, связанные с» от хостинг API. Здесь недостаточно, чтобы угадать, что вы на самом деле пытаетесь сделать. Книги об этом написаны, Стивен Прашнер довольно хорош. –
IGCHost :: GetThreadStats или ICLRGCManager :: GetStats похоже на функцию, которая была бы полезна. Я хочу получить доступ к памяти, которую использует CLR, поэтому я могу отображать отладочный вывод о том, сколько памяти использует каждая часть моего приложения. Возможность получить количество коллекций тоже будет хороша, обе эти функции предоставляются двумя функциями, о которых я упоминал ранее. – Programmdude
. NET PerformanceCounters также возвращают эту информацию. Очень проста в использовании и не нуждается в пользовательском хостинге. Если вы не задумываетесь и не документируете то, что вам действительно нужно, то пользовательский хостинг - это просто молот, который может нанести любой гвоздь. –