настроить отладку многомерных массивов в visual studio 2015 с помощью файла .natvis

Я использую Arma Matrix, и я хотел бы взглянуть на значение во время отладки.
Поэтому я добавляю файл natvis следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="arma::Mat&lt;*&gt;">
<DisplayString>{{ Size = {n_rows} x {n_cols} }}</DisplayString>
<Expand>
<Item Name="[size]">n_elem</Item>
<ArrayItems>
<Direction>Backward</Direction>
<Rank>2</Rank>
<Size> $i==0?n_rows:n_cols </Size>
<ValuePointer>mem</ValuePointer>
</ArrayItems>
</Expand>
</Type>
</AutoVisualizer>

Тем не менее, это не работает вообще.

Рано я могу решить проблему может быть

<Size> $i==0?n_rows:n_rows </Size>

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

<size> $i==0?5:8 </Size>
<size> $i==0?n_rows:8 </Size>
<Size> $i==0?5:n_cols</Size>

Однако, если я попробую любое из следующих утверждений, я снова ничего не получу

<size> $i==0?n_rows:n_cols </Size>
<size> $i==0?n_rows:n_rows </Size>

Кстати, я включил диагностические сообщения Natvis в «Error» в настройках, но в списке ошибок ничего нет.

Спасибо за любую помощь

2

Решение

Приведение к int решило это для меня:

<Size> $i==0?(int)n_rows:(int)n_cols </Size>

1

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

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

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