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


Окно сведений о проблеме

В окне сведений о проблеме отображаются структурированные диагностика, выданные компилятором MSVC или анализом кода для C/C++.

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

Screenshot of the Visual Studio Error List with one entry that has an icon in its details column.

Снимок экрана: список ошибок Visual Studio. В нем показана таблица с одной строкой. Строка представляет ошибку компилятора и содержит код ошибки C2665, описание "pet: перегруженная функция не может преобразовать все типы аргументов" и значок квадрата с угловым увеличением в столбце с именем Details. Этот значок выделен.

Два сценария создают эти диагностика:

  • Компиляции C++ с помощью MSBuild и компилятора MSVC могут выдавать структурированные диагностика.
  • Предупреждения анализа кода, поддерживающие данные события ключей, выдают структурированные диагностика.

Откройте окно сведений о проблеме, выполнив одно из следующих действий:

  • Пока выделена запись, дважды щелкните ее или нажмите клавишу ВВОД. Отключите это поведение с помощью текстового редактора>параметров>инструментов>C/C++>Advanced>Show Details on Double Click.
  • Выберите значок в столбце "Сведения ".
  • Откройте контекстное меню для записи и выберите параметр "Открыть сведения о проблеме".

По умолчанию откроется окно сведений о проблеме в том же расположении, что и окно списка ошибок. Измените место открытия окна сведений о проблеме, переместив его в нужное положение.

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

Screenshot of the Visual Studio Problem Details window with all children collapsed.

Снимок экрана: окно сведений о проблеме Visual Studio. Существует заголовок, показывающий тот же код ошибки и описание, что и запись списка ошибок. Также можно выбрать ссылку с текстом cppcon-diag.cpp (строка 23). Ниже этого заголовка содержатся записи, объясняющие, что потенциальные перегрузки являются пустыми домашними животными(котом), пустой питомец (собака), или пустой домашний питомец(_T0). Последняя запись указывает "при попытке сопоставить список аргументов (ящерица)." Справа от каждой строки отображается серый текст с номерами файлов и строк для каждой записи. Все они принадлежат к cppcon-diag.cpp, а номера строк — 7, 6, 18 и 23 соответственно. Слева от первых трех записей есть небольшие полые стрелки, указывающие вправо, которые указывают на то, что эти записи могут быть развернуты, но в настоящее время нет.

Разверните запись, чтобы просмотреть его дочерние элементы, выбрав стрелку в левой части записи или нажав клавишу СПРАВА с выделенной записью.

Screenshot of the Visual Studio Problem Details window with some children expanded.

Снимок экрана: окно сведений о проблеме 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.