Окно сведений о проблеме
В окне сведений о проблеме отображаются структурированные диагностика, выданные компилятором MSVC или анализом кода для C/C++.
Выберите записи в окне списка ошибок, отображающие значок в столбце сведений о проблеме, чтобы открыть окно сведений о проблеме. В окне сведений о проблеме отображаются структурированные диагностика для выбранной записи.
Снимок экрана: список ошибок Visual Studio. В нем показана таблица с одной строкой. Строка представляет ошибку компилятора и содержит код ошибки C2665, описание "pet: перегруженная функция не может преобразовать все типы аргументов" и значок квадрата с угловым увеличением в столбце с именем Details. Этот значок выделен.
Два сценария создают эти диагностика:
- Компиляции C++ с помощью MSBuild и компилятора MSVC могут выдавать структурированные диагностика.
- Предупреждения анализа кода, поддерживающие данные события ключей, выдают структурированные диагностика.
Откройте окно сведений о проблеме, выполнив одно из следующих действий:
- Пока выделена запись, дважды щелкните ее или нажмите клавишу ВВОД. Отключите это поведение с помощью текстового редактора>параметров>инструментов>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 не является членом ящерицы" и "см. объявление ящерицы".
Включите или отключите структурированные диагностика с параметром >>">Дополнительно включить структурированные выходные данные MSVC". Вы можете повлиять на несколько проектов, создав файл Directory.Build.props со свойством UseStructuredOutput, определенным как true или false.