2015-11-03 22 views
1
創建的Visual Studio DebuggerVisualizer

.NET允許您創建在Visual Studio中的數據類型DebuggerVisualizers,我需要將以下屬性添加到類型我希望顯示:如何爲C++

[System.Diagnostics.DebuggerVisualizer("VisualizerTypeName", "ObjectSourceTypeName")] 

則反而會加重在各種調試窗口中該類型表達式旁邊的一個小放大鏡符號,當您單擊放大鏡時,它將彈出指定的可視化工具。

我一直在試圖找到如何爲C++類型做同樣的事情。我知道autoexp.dat和VC2010Samples \ C++ \ Debugging \ EEaddin示例項目,但這些似乎只適用於調試器窗口中的文本輸出,而不適用於調試可視化器的數據轉發。

我認爲它會與autoexp.dat有某種關係,但是我找不到任何有關爲可視化標記類型的信息。我如何讓放大鏡按照它對char *類型的方式彈出任意C++類型?

回答

1

在Visual Studio 2012及更高版本,它似乎沒有調試可視化的新格式,.natvis:

https://msdn.microsoft.com/en-us/library/jj620914(v=vs.110).aspx#BKMK_UIVisualizer

在Visual Studio 2010和更早的版本,我可以找到最好的信息是「 stringview「是autoexp.dat支持的唯一類型可視化。你可以指定一個字符串格式的可視化類型使用內置的字符串可視化的字符串,但沒有自定義可視化工具:

http://www.idigitalhouse.com/Blog/?p=83