Отладка внешних источников с Visual Studio

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Вам когда-нибудь приходилось отлаживать и работать с кодом зависимых библиотек NuGet или .NET, которые не являются частью вашего решения? Сегодня отладка через них не так проста, как отладка ваших проектов, которые являются частью вашего решения. Начиная с Visual Studio 2022 Preview 3, мы добавляем новый узел «Внешние источники» в обозреватель решений, который значительно упростит отладку файлов внешних источников. Этот узел появляется во время отладки и отображает источники для управляемых модулей с загруженными символами, содержащими информацию о Source Link или Source Server. Вы можете легко просматривать эти исходные файлы и отлаживать их, при необходимости устанавливая точки останова.

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

Скачать Visual Studio 2022 Preview.

Узел "Внешние источники" в обозревателе решений

Эта функция добавляет новый узел верхнего уровня в обозреватель решений, который появляется, когда вы находитесь в сеансе отладки, и любой загруженный файл .pdb с информацией исходного сервера будет отображаться под этим узлом.

В режиме отладки - свернутое состояние (по умолчанию)
В режиме отладки - свернутое состояние (по умолчанию)
В режиме отладки - развернутое состояние без модулей с символами вне загруженного решения
В режиме отладки - развернутое состояние без модулей с символами вне загруженного решения
В режиме отладки - с одним загруженным и расширенным внешним модулем
В режиме отладки - с одним загруженным и расширенным внешним модулем

Вы можете искать файлы, разворачивая элементы дерева. Затем дважды щелкните элемент, чтобы загрузить файл с исходного сервера и открыть его в редакторе. Узел будет сохраняться с источниками модулей в сеансах отладки, если модули настроены на автоматическую загрузку символов.

Демо для внешних источников
Демо для внешних источников

Если вы работаете с приложениями с несколькими внешними библиотеками, компоненты которых опубликованы на исходных серверах, например Newtonsoft.Json, CsvHelper, xUnit.net и т.д., эта функция предоставит вам более простой способ просматривать эти источники и при необходимости отлаживать их.

Требуемые настройки

Загрузкой символов (Symbol loading) и загрузкой источника можно управлять с помощью параметров в настройках отладки.

Следуйте приведенному ниже контрольному списку настроек, чтобы убедиться, что модули могут отображаться в узле «Внешние источники» обозревателя решений.

  1. В Инструменты -> Параметры -> Параметры отладки: * Отключить только мой код: это позволит отладчику попытаться найти символы для кода за пределами вашего решения.

  2. В Инструменты -> Параметры> Отладка -> Параметры символов: * Включить Microsoft Symbol Server: это позволяет отладчику пытаться найти символы на Microsoft Symbol Server; * Включить сервер символов NuGet.org: это позволяет отладчику пытаться найти символы на сервере символов NuGet.org; * Включить загрузку всех модулей: это позволяет отладчику загружать символы для всех модулей. (Обратите внимание, что эти параметры загрузят все доступные символы, вы можете ограничить загрузку символов, выбрав «Загружать только указанные модули» и указав включенные модули.)

  3. Вам также может потребоваться проверить Отладка -> Windows -> Модули, чтобы увидеть, какие модули в настоящее время загружены в память, и загрузить их вручную, если это необходимо.

  4. Вам может быть предложено загрузить исходный код с сервера, если дважды щелкнуть элемент в «Узле внешних источников»; нажмите «Принять», и вы сможете просмотреть исходный код этого элемента в редакторе.

Демо для внешних источников с ручной загрузкой символов
Демо для внешних источников с ручной загрузкой символов
Источник: https://habr.com/ru/company/microsoft/blog/573792/


Интересные статьи

Интересные статьи

Настройка любой площадки для CMS — это рутинный процесс, который должен быть доведен до автоматизма в каждой уважающей себя компании. А потому частенько воспринимается, как восход солнца — это происхо...
Мы продолжаем серию статей, посвященных технологиям информационного моделирования в промышленном и гражданском строительстве. Ранее в материале «Российские BIM-технологии...
Представим типичную ситуацию на первом курсе: вы прочитали про алгоритм Диница, реализовали, а он не заработал, и вы не знаете, почему. Стандартное решение — это начать отлаживать по шагам, кажды...
Если Вы используете стандарт C++17 в MS Visual Studio 2017 — будьте осторожны: текущая версия содержит критический баг в реализации std::map::merge и std::set::merge. Подробности — под катом. ...
Практически все коммерческие интернет-ресурсы создаются на уникальных платформах соответствующего типа. Среди них наибольшее распространение получил Битрикс24.