Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В окне сведений о проблеме показана структурированная диагностика, выданная компилятором MSVC или анализом кода для C/C++.
Выберите записи в окне списка ошибок, отображающие значок в столбце сведений о проблеме, чтобы открыть окно сведений о проблеме. В окне сведений о проблеме показана структурированная диагностика для выбранной записи.
Снимок экрана: список ошибок Visual Studio. В нем показана таблица с одной строкой. Строка представляет ошибку компилятора и содержит код ошибки C2665, описание "pet: перегруженная функция не может преобразовать все типы аргументов" и значок квадрата с угловым увеличением в столбце с именем Details. Этот значок выделен.
Два сценария создают следующие диагностические данные:
- Компиляции C++ с помощью MSBuild и компилятора MSVC могут выдавать структурированную диагностику.
- Предупреждения анализа кода, поддерживающие данные key Event , выдают структурированную диагностику.
Откройте окно сведений о проблеме , выполнив одно из следующих действий:
- Пока выделена запись, дважды щелкните ее или нажмите клавишу ВВОД. Отключите это поведение с помощьютекстового редактора>параметров>инструментов>C/C++>Advanced>Show Details on Double Click.
- Выберите значок в столбце "Сведения ".
- Откройте контекстное меню для записи и выберите параметр "Открыть сведения о проблеме ".
По умолчанию откроется окно сведений о проблеме в том же расположении, что и окно списка ошибок . Измените место открытия окна сведений о проблеме , переместив его в нужное положение.
В окне сведений о проблеме отображаются структурированные сведения, которые могут быть вложены. Когда откроется окно, все записи, вложенные дочерние элементы начинают свернуты.
Снимок экрана: окно сведений о проблеме Visual Studio. Существует заголовок, показывающий тот же код ошибки и описание, что и запись списка ошибок. Также можно выбрать ссылку с текстом cppcon-diag.cpp (строка 23). Ниже этого заголовка содержатся записи, объясняющие, что потенциальные перегрузки являются пустыми домашними животными(котом), пустой питомец (собака), или пустой домашний питомец(_T0). Последняя запись указывает "при попытке сопоставить список аргументов (ящерица)." Справа от каждой строки отображается серый текст с номерами файлов и строк для каждой записи. Все они принадлежат к cppcon-diag.cpp, а номера строк — 7, 6, 18 и 23 соответственно. Слева от первых трех записей есть небольшие полые стрелки, указывающие вправо, которые указывают на то, что эти записи могут быть развернуты, но в настоящее время нет.
Разверните запись, чтобы просмотреть его дочерние элементы, выбрав стрелку в левой части записи или нажав клавишу СПРАВА с выделенной записью.
Снимок экрана: окно сведений о проблеме Visual Studio. Содержимое в основном совпадает с предыдущим снимком экрана, однако некоторые записи развернуты, чтобы их дочерние записи были видимы. Первая запись развернута. Существует вложенная запись с текстом "void pet(cat) не может преобразовать аргумент 1 из ящерицы в кота". Эта запись является отступом и может быть развернута. Вторая строка от до расширения, показыв нераскрытую запись с чтением "void pet(dog) не может преобразовать аргумент 1 из ящерицы в собаку". Третья запись развернута, показыв, что запись считывает "связанные ограничения не удовлетворены". Эта запись содержит расширенное дочернее чтение "концепция петлябельная ящерица, оцененная как ложь". У этой записи есть два дочерних элемента. Первый является необъяснимым и считывает "концепция has_member_pet ящерица, оцененная как ложь". Второй расширяется и считывает "концепция has_default_pet ящерица, оцененная как ложь". Второй ребенок имеет двух детей, ни один из которых не расширяется. Они читали "is_pettable не является членом ящерицы" и "см. объявление ящерицы".
Включите или отключите структурированную диагностику с > помощью параметраAdvanced> ProjectProperties>Enable MSVC Structured Output . Вы можете повлиять на несколько проектов, создав файл Directory.Build.props со свойством UseStructuredOutput , определенным как true или false.