Профилировщик Visual Studio, как отслеживать использование [clr.dll]

При использовании профилировщика в Visual Studio для отслеживания дорогостоящих функций я иногда видел, что большая часть работы оказывается в [clr.dll]. По сути, это черный ящик, и мне интересно, есть ли способ отследить, почему он проводит там так много времени.

Я предполагаю, что clr.dll обрабатывает такие вещи, как JIT-компиляция, загрузка сборок и управление доменами приложений, сборка мусора, отражение и т. д. Но на самом деле очень сложно определить, какой код заставляет его тратить так много времени.

Очевидно, что какой-то другой код, помимо самой среды выполнения, заставляет его проводить столько времени в clr.dll, так как же отследить, какой код виноват?

8
задан Bryce Wagner 29 June 2012 в 15:18
поделиться