Как визуализировать ndarray Rust в VSCode?

#c #rust #vscode-debugger

#c #Ржавчина #vscode-отладчик

Вопрос:

Я использую VSCode для разработки своего приложения rust, которое содержит много NDArray. Когда я устанавливаю точку останова и просматриваю переменную NDArray, она показывает только указатели. Я не знаю, как просмотреть содержимое. Я пробовал как cppvsdbg, так и lldb (vscode-codelldb), и у обоих одинаковая проблема? Есть ли какая-либо команда, которую я могу ввести в консоли отладки, чтобы развернуть переменную?

введите описание изображения здесь

Комментарии:

1. По этому поводу также возникает проблема на странице Github NDarray: github.com/rust-ndarray/ndarray/issues/827

2. Да, это я поднял проблему с Github и спасибо за напоминание. Я добавлю свои выводы в качестве ответа здесь

Ответ №1:

Теперь я могу визуализировать его, используя приведенный ниже natvis,

 <?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="ndarray::ArrayBaseamp;<*,*amp;>">
      <DisplayString>{{Modified by Selva}}</DisplayString>
      <Expand HideRawView="false">  
            <ArrayItems>  
                  <Direction>Forward</Direction>  
                  <Rank>sizeof(dim.index)/sizeof(*dim.index)</Rank>
                  <Size>(int)dim.index[$i]</Size>  
                  <!-- <Size>$i==0?(int)dim.index[0]:(int)dim.index[1]</Size>   -->
                  <ValuePointer>data.ptr.pointer</ValuePointer>  
            </ArrayItems>  
      </Expand>
</Type>
</AutoVisualizer>
  

Комментарии:

1. Было бы полезно, если бы вы объяснили, как это использовать, или предоставили ссылку, где можно найти эту информацию.