Baca dalam bahasa Inggris

Bagikan melalui


Objek Debugger Asli di NatVis

Gambaran Umum

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.

Sumber Daya Pengembangan NatVis

Lihat sumber daya ini untuk informasi umum tentang bekerja dengan NatVis.

Membuat tampilan kustom objek asli

.nvload

.nvlist

.nvunload

.nvunloadall

Contoh objek NatVis kustom

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]

Lihat juga

dx (Ekspresi Model Objek Debugger Tampilan)

Menggunakan LINQ Dengan objek debugger

Objek Debugger Asli di Ekstensi JavaScript