Sdílet prostřednictvím


Nativní objekty ladicího programu v NatVis

Přehled

Nativní objekty ladicího programu představují různé konstrukty a chování prostředí ladicího programu. Mezi příklady objektů ladicího programu patří následující.

  • Sezení
  • Vlákna / vlákno
  • Procesy / Proces
  • Zásobníkové rámce / Zásobníkový rámec
  • Místní proměnné
  • Moduly / Moduly
  • Užitnost
  • Stát
  • Nastavení

K interakci s objekty ladicího programu můžete použít příkaz dx a LINQ. Další informace naleznete v tématu dx (Zobrazení ladícího modelu objektu) a Použití LINQ s objekty ladicího programu.

Můžete také pracovat s objekty ladicího programu pomocí JavaScriptu. Další informace o tom naleznete v tématu Nativní objekty ladicího programu v rozšíření JavaScript.

Toto téma popisuje, jak můžete vytvořit vlastní vizualizéry NatVis pro zobrazení objektů debuggeru.

Prostředky pro vývoj pro NatVis

Obecné informace o práci s NatVis najdete v těchto zdrojích informací.

Vytváření vlastních zobrazení nativních objektů

.nvload

.nvlist

.nvunload

.nvunloadall

Příklad vlastního objektu NatVis

Vytvořte jednoduchou aplikaci jazyka C++, která má instanci třídy 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;
}

Vytvořte soubor s názvem Dog.natvis, který obsahuje tento KÓD 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>

Zkopírujte Dog.natvis do složky Vizualizérů v instalačním adresáři pro nástroje ladění pro Windows. Například:

C:\Program Files\Debugging Tools for Windows (x64)\Vizualizéry

Spusťte program a přerušte v hlavní funkci. Proveďte krok, aby se proměnná MyDog inicializovala. Zobrazte MyDog pomocí ?? a znovu pomocí 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]

Viz také

dx (zobrazení výrazu objektového modelu ladicího programu)

použití LINQ s objekty ladicího programu

nativní objekty ladicího programu v rozšířeních JavaScriptu