Поделиться через


Сбор трассировки ETL с помощью PerfView и создание дампов памяти со всеми стеками вызовов

Когда вы сообщаете о проблеме с Visual Studio, команда по продуктам Microsoft может попросить трассировку ETL или минидампы для сбора дополнительной информации для диагностики неполадок. Выполните следующие действия, чтобы собрать ETL-трассировку или создать дампы памяти для всех стеков вызовов.

Сбор трассировки ETL с помощью PerfView

PerfView — это средство, которое создает файлы ETL (журнал трассировки событий) на основе трассировки событий для Windows, которые могут быть полезны при устранении некоторых проблем с Visual Studio. Иногда при сообщении о проблеме команда продуктов может попросить вас запустить PerfView для сбора дополнительных сведений.

Установка PerfView

Скачайте PerfView из GitHub.

Запуск PerfView

  1. Щелкните правой кнопкой мыши PerfView.exe в проводнике Windows и выберите Запустить от имени администратора от имени администратора.
  2. В меню "Сбор" выберите Сбор.
  3. Проверьте Zip, Слияниеи ThreadTime.
  4. Увеличьте циклический МБ до 1000.
  5. Измените Current Dir, чтобы сохранить трассировки ETL в указанную папку и файл данных, если вы собираетесь собирать более одного раза.
  6. Чтобы начать запись данных, нажмите кнопку "Пуск сбора".
  7. Чтобы остановить запись данных, нажмите кнопку Остановить сбор. Файл PrefView.etl.zip будет сохранен в указанном каталоге.

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

Создание минидампов для процесса Visual Studio с полными стеками вызовов

В некоторых случаях корпорация Майкрософт может запросить дамп памяти выполняющегося процесса Visual Studio с информацией обо всех стеках вызовов. Чтобы собрать эти сведения, выполните следующие действия.

Создание файла minidump

  1. Запустите новый экземпляр Visual Studio.

  2. В главном меню выберите Отладка>Подключиться к процессу.

  3. Выберите , а затем установите соответствующие флажки Управляемый и Собственный и нажмите кнопку ОК.

    снимок экрана с типами кодов, выбранными в диалоговом окне

    снимок экрана с типами кодов, выбранными в диалоговом окне

  4. Выберите другой экземпляр Visual Studio для подключения к списку выполняемых процессов, а затем выберите Подключить.

  5. В главном меню выберите Отладка>Разорвать все.

  6. В главном меню выберите Отладка>Сохранить дамп как.

Получите стеки вызовов из минидампа

  1. Откройте файл дампа в Visual Studio.
  2. Перейдите в раздел Средства>параметры>отладки>символов и убедитесь, что серверы символов Майкрософт установлен в расположения хфайлов символов (PDB).
  3. Откройте окно команды (Просмотр>Другие окна>Командное окно).
  4. Введите "~*k". Окно отображает стеки вызовов для всех потоков.
  5. Скопируйте весь текст из командного окна и сохраните его в текстовый файл.
  6. Прикрепите текстовый файл к багу.