2014-03-24 134 views
4

我有定義爲類型:NatVis:typedefs允許嗎?

typedef unsigned short StringChecksum; 

我最終打算使用NatVis顯示在我們在存儲器裝入的全球字符串表中的相應值。

所以我定義爲測試一個新的NatVis(這是我第一次):

<?xml version="1.0" encoding="utf-8" ?> 
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> 
    <Type Name="StringChecksum"> 
    <DisplayString>StringChecksum {this}</DisplayString> 
    </Type> 
</AutoVisualizer> 

我打開NatVis調試在註冊表中,我可以看到我.natvis文件被加載調試器併成功解析。

我也有編輯並繼續關閉。

但是,當我調試代碼並檢查一個StringChecksum時,我沒有看到任何區別,它顯示了整數。我預計它會顯示「StringChecksum 3433」之類的內容。

NatVis可以使用從簡單typedef定義的類型嗎?我見過的所有例子都是使用類。如果有的話,有什麼想法可能是錯的?

回答

1

答案是否定的。調試器無法區分原始類型。

有趣的是,雖然調試器實際上可以區分VS2012 Update 2中的枚舉和強類型枚舉,