Objek Debugger Asli di NatVis
Objek debugger asli mewakili berbagai konstruksi dan perilaku lingkungan debugger. Contoh objek debugger termasuk yang berikut ini.
- Sesi
- Utas / Utas
- Proses/ Proses
- Bingkai Tumpukan / Bingkai Tumpukan
- Variabel Lokal
- Modul / Modul
- Utilitas
- Provinsi
- Pengaturan
Anda dapat menggunakan perintah dx dan LINQ untuk berinteraksi dengan objek debugger. Untuk informasi selengkapnya, lihat dx (Ekspresi Model Objek Debugger Tampilan) dan Menggunakan LINQ Dengan objek debugger.
Anda juga dapat bekerja dengan objek debugger menggunakan JavaScript. Untuk informasi selengkapnya tentang hal itu, lihat Objek Debugger Asli di Ekstensi JavaScript.
Topik ini menjelaskan bagaimana Anda dapat membuat visualizer NatVis kustom untuk menampilkan objek debugger.
Lihat sumber daya ini untuk informasi umum tentang bekerja dengan NatVis.
Membuat tampilan kustom objek asli
Buat aplikasi C++ sederhana yang memiliki instans CDog kelas.
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;
}
Buat file bernama Dog.natvis yang berisi XML ini:
<?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>
Salin Dog.natvis ke folder Visualizers di direktori penginstalan Anda untuk Alat Debugging untuk Windows. Contohnya:
C:\Program Files\Debugging Tools for Windows (x64)\Visualizers
Jalankan program Anda, dan istirahat di fungsi utama. Ambil langkah sehingga variabel MyDog
diinisialisasi. Tampilkan MyDog
menggunakan ?? dan lagi menggunakan 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 (Ekspresi Model Objek Debugger Tampilan)