Aracılığıyla paylaş


NatVis'de Yerel Hata Ayıklayıcı Nesneleri

Genel Bakış

Yerel hata ayıklayıcı nesneleri, hata ayıklayıcı ortamının çeşitli yapılarını ve davranışlarını temsil eder. Örnek hata ayıklayıcı nesneleri aşağıdakileri içerir.

  • Oturum
  • İş Parçacıkları / İş Parçacığı
  • İşlemler / İşlemler
  • Yığın Çerçeveleri / Yığın Çerçevesi
  • Yerel Değişkenler
  • Modüller / Modül
  • Fayda
  • Devlet
  • Ayarlar

Hata ayıklayıcı nesneleriyle etkileşime geçmek için dx komutunu ve LINQ'yi kullanabilirsiniz. Daha fazla bilgi için bkz. dx (Görüntü Hata Ayıklayıcısı Nesne Modeli İfadesi) ve hata ayıklayıcı nesneleriyle LINQ kullanma.

JavaScript kullanarak hata ayıklayıcı nesneleriyle de çalışabilirsiniz. Bu konuda daha fazla bilgi için bkz. JavaScript Uzantılarında Yerel Hata Ayıklayıcı Nesneleri.

Bu konuda, hata ayıklayıcı nesnelerini görüntülemek için özel NatVis görselleştiricilerini nasıl oluşturabileceğiniz açıklanmaktadır.

NatVis Geliştirme Kaynakları

NatVis ile çalışma hakkında genel bilgi için bu kaynaklara bakın.

Yerel nesnelerin özel görünümlerini oluşturma

.nvload

.nvlist

.nvunload

.nvunloadall

Özel NatVis nesnesi örneği

CDog sınıfının bir örneğine sahip basit bir C++ uygulaması oluşturun.

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;
}

Bu XML'i içeren Dog.natvis adlı bir dosya oluşturun:

<?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 dosyasını Windows için Hata Ayıklama Araçları için yükleme dizininizdeki Visualizers klasörüne kopyalayın. Örneğin:

C:\Program Files\Debugging Tools for Windows (x64)\Visualizers

Programınızı çalıştırın ve ana işlevde duraklatın. Değişkenin MyDog başlatılması için bir adım atın. ?? ve tekrar dx kullanarak görüntüleyebilirsinizMyDog.

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]

Ayrıca bakınız

dx (Display Debugger Object Model İfadesi)

Hata ayıklayıcı nesnelerle LINQ kullanmak

JavaScript Uzantılarında Yerel Debugger Nesneleri