Профилирование С# и mscorlib.ni.dll
В настоящее время я профилирую консольное приложение с выборкой процессора. Операционная система Windows 8 Enterprise 64-разрядная с Microsoft Visual Studio Ultimate 2012 Update 4. Я вижу, что 34% эксклюзивных образцов находится внутри mscorlib.ni.dll. Затем в представлении "Модули" я открываю файл mscorlib.ni.dll и вижу, что все вызовы выполняются для незнакомых линий.
Сначала я скачал их с помощью ngen, следуя этой инструкции: http://blogs.msdn.com/b/visualstudioalm/archive/2012/12/10/creating-ngen-pdbs-for-profiling-reports.aspx но безуспешно. Несмотря на наличие pdb в правильном положении и правильной ссылки на параметры VS.
После этого я попытался получить все возможные символы с помощью этого сценария PS: http://knagis.miga.lv/gen_ngen_pdb.txt, но все равно не повезло. Даже если pdb (все еще) есть.
У кого-то уже была эта проблема? Я видел другой ответ Профилирование кода для повышения производительности: увидеть циклы ЦП внутри mscorlib.dll?, но никак не разрешается...
Энрико
Ответы
Ответ 1
Посмотрите справочный проект для .net в mscorelib. Я копирую текст здесь:
Чтобы настроить Visual Studio 2013, выполните следующие действия в меню Сервис → Параметры → Отладка → Общее:
- Отключить только мой код
- Отключить пошаговое управление свойствами и операторами
- Отключить требование, чтобы исходные файлы точно соответствовали исходной версии
- Включить пошаговое выполнение исходного кода .NET Framework
- Включить поддержку исходного сервера
Я могу себе представить, что поддерживаются не все классы, в некоторых из них будет проприетарный код, однако список поддерживаемых DLL в отношении mscorelib можно найти здесь.
![enter image description here]()