如何在VSCode中可视化ndarray Rust?

问题描述

我正在使用VSCode开发包含很多ndarray的rust应用程序。当我设置断点并观察ndarray变量时,它仅显示指针。我不知道如何查看内容。我尝试了cppvsdbg和lldb(vscode-codelldb),两者都有相同的问题?我可以在调试控制台中键入任何命令来扩展变量吗?

enter image description here

解决方法

我现在可以使用下面的 natvis 对其进行可视化,

<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="ndarray::ArrayBase&lt;*,*&gt;">
      <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>