Натвис Visual Studio 2012 Boost Вектор и Матрица

Я скачал и установил cppvisualizer, чтобы обеспечить лучшую обработку ускоренной структуры данных в Visual Studio 2012.

https://cppvisualizers.codeplex.com/

У него нет поддержки boost :: numeric :: ublas :: vector и boost :: numeric :: ublas :: matrix, поэтому я попытался следовать инструкциям, доступным здесь для поддержки natvis:
http://code.msdn.microsoft.com/windowsdesktop/Writing-type-visualizers-2eae77a2

Я добавил файл с именем ublas.natvis в \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ Common7 \ Packages \ Debugger \ Visualizers. Он содержит следующий код:

    <?xml version="1.0" encoding="utf-8"?>

<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">

<Type Name="boost::numeric::ublas::vector&lt;*&gt;">
<DisplayString>"UBLAS Vector: Test Failure"</DisplayString>
<Expand>
<Item Name="[size]">_Mylast - _Myfirst</Item>
<Item Name="[capacity]">_Myend - _Myfirst</Item>
<ArrayItems>
<Size>_Mylast - _Myfirst</Size>
<ValuePointer>_Myfirst</ValuePointer>
</ArrayItems>
</Expand>
</Type>

<Type Name="std::vector&lt;*&gt;">
<DisplayString>"STD Vector: Test Success"</DisplayString>
<Expand>
<Item Name="[size]">_Mylast - _Myfirst</Item>
<Item Name="[capacity]">_Myend - _Myfirst</Item>
<ArrayItems>
<Size>_Mylast - _Myfirst</Size>
<ValuePointer>_Myfirst</ValuePointer>
</ArrayItems>
</Expand>
</Type>

</AutoVisualizer>

Визуализатор может успешно определить мою пользовательскую строку для std :: vector. Однако не повезло, когда я наведи курсор на boost :: numeric :: ublas :: vector. Подскажите, пожалуйста, как настроить визуализаторы отладчика для вектора усиления и матрицы.

Спасибо за вашу помощь.

2

Решение

Вы должны включить диагностику Natvis для Visual Studio 2012, как описано в вашей статье (http://code.msdn.microsoft.com/windowsdesktop/Writing-type-visualizers-2eae77a2) Диагностика Natvis, которая мне очень помогает с отладкой cppvisualizer.

Обновить:

Визуализатор для вектора и матрицы (просто создайте файл .natvis в %USERPROFILE%\My Documents\Visual Studio 2012\Visualizers\ с этим контентом)

<?xml version='1.0' encoding='utf-8'?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">

<Type Name="boost::numeric::ublas::unbounded_array&lt;*,*&gt;">
<DisplayString>{{ size={size_} }}</DisplayString>
<Expand>
<Item Name="[size]">size_</Item>
<ArrayItems>
<Size>size_</Size>
<ValuePointer>data_</ValuePointer>
</ArrayItems>
</Expand>
</Type>

<Type Name="boost::numeric::ublas::vector&lt;*&gt;">
<DisplayString>{data_}</DisplayString>
<Expand>
<ExpandedItem>data_</ExpandedItem>
</Expand>
</Type>

<Type Name="boost::numeric::ublas::matrix&lt;*&gt;">
<DisplayString>{{ size={size1_}x{size2_} }}</DisplayString>
<Expand>
<ExpandedItem>data_</ExpandedItem>
</Expand>
</Type>

</AutoVisualizer>
5

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

Пытаться <Type Name="boost::numeric::ublas::vector&lt;*,*&gt;"> вместо.

0

По вопросам рекламы [email protected]