Я профилирую службу Windows, подключая ее в режиме «выборки».
Я открываю файл результатов, представление «функции» и вижу, что «самая горячая» функция отображается как [System.Runtime.Serialization.ni.dll]
без указания конкретной функции .net внутри этой сборки.
Похоже, все остальные символы из сборок ngen'd (.ni.dll) отображаются одинаково.Кроме того, я не вижу каких-либо символов из управляемых, но не ngen'd сборок в списке, что довольно странно.
Однако все нативные символы разрешаются нормально, например, "AwareLock":: Contention (int) "и т. Д.
Кроме того, на вкладке Вывод указано:
Loaded symbols for C:\Windows\assembly\NativeImages_v2.0.50727_64\System.Runtime.Seri#\12aaff696a0c54773664b4c5407deaa2\System.Runtime.Serialization.ni.dll.
Кроме того, у меня not запущен vsperfclrenv, но все разрешается врежим профилирования параллелизма, поэтому я подумал, что vsperfclrenv мне не нужен, поскольку VS2010 все для меня делает.
Я пытался запустить ngen update /debug /profile
, но это ничего не изменило.
Как настроить мою среду таким образом, чтобы профилировщик выборки VS2010 разрешал символы в этих управляемых сборках?
Тем временем я попытаюсь ngen uninstall
их использовать.