Как создать Visual Studio DebuggerVisualizer для переполнения стека

.NET позволяет создавать DebuggerVisualizer для типов данных в Visual Studio, мне нужно добавить следующий атрибут для типов, которые я хочу визуализировать:

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

Затем он добавит маленький символ увеличительного стекла рядом с выражениями этого типа в различных окнах отладки, и когда вы нажмете на увеличительное стекло, появится всплывающее окно указанного визуализатора.

Я пытался найти, как сделать то же самое для типов C ++. Мне известны autoexp.dat и пример проекта VC2010Samples \ C ++ \ Debugging \ EEaddin, но кажется, что они применимы только к текстовому выводу в окне отладчика, а не к пересылке данных для визуализатора отладки.

Я предполагаю, что это будет как-то связано с autoexp.dat, но я не могу найти никакой информации о маркировке типа для визуализации. Как заставить всплывающее увеличительное стекло для произвольных типов C ++ так же, как для типов char *?

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector