Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Обзор
Собственные объекты отладчика представляют различные конструкции и поведение среды отладчика. Ниже приведены примеры объектов отладчика.
- Сессия
- Потоки / поток
- Процессы / Процесс
- Кадры стека и кадр стека
- Локальные переменные
- Модули / модуль
- Полезность
- Государство
- Настройки
Для взаимодействия с объектами отладчика можно использовать команду dx и LINQ. Дополнительные сведения см. в разделе DX (Выражение объектной модели отладчика) и использование LINQ с объектами отладчика.
Вы также можете работать с объектами отладчика с помощью JavaScript. Дополнительные сведения об этом см. в расширениях JavaScript в машинном отладчике.
В этом разделе описывается, как создавать пользовательские визуализаторы NatVis для отображения объектов отладчика.
Ресурсы разработки NatVis
Дополнительные сведения о работе с NatVis см. в этих ресурсах.
Создание пользовательских представлений собственных объектов
Пример пользовательского объекта NatVis
Создайте простое приложение C++ с экземпляром класса CDog.
class CDog
{
public:
CDog(){m_age = 8; m_weight = 30;}
long m_age;
long m_weight;
};
int main()
{
CDog MyDog;
printf_s("%d, %d\n", MyDog.m_age, MyDog.m_weight);
return 0;
}
Создайте файл с именем Dog.natvis, содержащий этот XML-код:
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="https://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="CDog">
<DisplayString>{{Age = {m_age} years. Weight = {m_weight} pounds.}}</DisplayString>
</Type>
</AutoVisualizer>
Скопируйте Dog.natvis в папку визуализаторов в каталоге установки для средств отладки для Windows. Рассмотрим пример.
C:\Program Files\Debugging Tools for Windows (x64)\Visualizers
Запустите программу и войдите в основную функцию. Выполните шаг, чтобы переменная MyDog инициализировалась. Отображение MyDog с помощью ?? и снова с помощью dx.
0:000> ??MyDog
class CDog
+0x000 m_age : 0n8
+0x004 m_weight : 0n30
0:000> *
0:000> dx -r1 MyDog
.....
MyDog : {Age = 8 years. Weight = 30 pounds.} [Type: CDog]
См. также
dx (выражение объектной модели отладчика)