NatVis 中的原生偵錯工具物件
概觀
原生偵錯工具物件代表偵錯工具環境的各種建構和行為。 偵錯工具物件的範例包括下列專案。
- 工作階段
- 執行緒/ 執行緒
- 進程/ 進程
- 堆疊框架/ 堆疊框架
- 區域變數
- 模組/ 模組
- 公用程式
- 狀態
- 設定
您可以使用 dx 命令和 LINQ 來與偵錯工具物件互動。 如需詳細資訊,請參閱 dx (顯示偵錯工具物件模型運算式) 和使用 LINQ 搭配偵錯工具物件。
您也可以使用 JavaScript 來處理偵錯工具物件。 如需詳細資訊,請參閱 JavaScript 延伸模組中的原生偵錯工具物件。
本主題描述如何建立自訂 NatVis 視覺化檢視來顯示偵錯工具物件。
NatVis 開發資源
如需使用 NatVis 的一般資訊,請參閱這些資源。
自訂 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 的偵錯工具。 例如:
C:\Program Files\Debugging Tools for Windows (x64) \Visualrs
執行程式,並在 main 函式中中斷。 採取步驟,讓變數 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]