#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. Было бы полезно, если бы вы объяснили, как это использовать, или предоставили ссылку, где можно найти эту информацию.