NatVis 中的原生調試程序物件

概觀

原生調試程序物件代表調試程式環境的各種建構和行為。 調試程式物件的範例包括下列專案。

  • 會期
  • 線程/討論串
  • 程序處理/ 程序
  • 堆疊框架/堆疊框架
  • 局部變數
  • 模組/ 模組
  • 效用
  • 國家
  • 設定

您可以使用 dx 命令和 LINQ 與偵錯工具物件互動。 如需詳細資訊,請參閱 dx (顯示偵錯工具物件模型運算式) 和 搭配偵錯工具物件使用 LINQ。

您也可以使用 JavaScript 來處理偵錯工具物件。 如需相關資訊,請參閱 JavaScript 延伸模組中的原生偵錯工具物件。

本主題說明如何建立自訂 NatVis 視覺化工具來顯示偵錯工具物件。

NatVis 開發資源

如需使用 NatVis 的一般資訊,請參閱這些資源。

建立原生物件的自訂檢視

.nvload

.nvlist

.nvunload

.nvunloadall

自訂 NatVis 物件範例

建立具有類別 CDog 實例的簡單 C++ 應用程式。

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 偵錯工具安裝目錄中的 Visualizers 資料夾。 例如:

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

運行您的程序,並闖入主函數。 採取一個步驟,以便初始化變數 MyDog 。 使用 ?? 和 dx 顯示 MyDog。

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 (顯示除錯程式物件模型表示式)

使用 LINQ 搭配調試程序物件

JavaScript 延伸模組中的原生調試程式物件