Вам когда-нибудь приходилось отлаживать и работать с кодом зависимых библиотек 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) и загрузкой источника можно управлять с помощью параметров в настройках отладки.
Следуйте приведенному ниже контрольному списку настроек, чтобы убедиться, что модули могут отображаться в узле «Внешние источники» обозревателя решений.
В Инструменты → Параметры → Параметры отладки: * Отключить только мой код: это позволит отладчику попытаться найти символы для кода за пределами вашего решения.
В Инструменты → Параметры → Отладка → Параметры символов: * Включить Microsoft Symbol Server: это позволяет отладчику пытаться найти символы на Microsoft Symbol Server; * Включить сервер символов NuGet.org: это позволяет отладчику пытаться найти символы на сервере символов NuGet.org; * Включить загрузку всех модулей: это позволяет отладчику загружать символы для всех модулей. (Обратите внимание, что эти параметры загрузят все доступные символы, вы можете ограничить загрузку символов, выбрав «Загружать только указанные модули» и указав включенные модули.)
Вам также может потребоваться проверить Отладка → Windows → Модули, чтобы увидеть, какие модули в настоящее время загружены в память, и загрузить их вручную, если это необходимо.
Вам может быть предложено загрузить исходный код с сервера, если дважды щелкнуть элемент в «Узле внешних источников»; нажмите «Принять», и вы сможете просмотреть исходный код этого элемента в редакторе.