Профилирование С# и 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