
Я понимаю это, но предпочитаю показывать такой массив в виде однострочного (так было бы проще). чтобы сравнить два из них), поэтому я создал файл "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\Packages\Debugger\Visualizers\ZSAFEARRAY.natvis".
Причина этого проста: при выполнении .natvisreload собственные визуализаторы в этом конкретном каталоге обрабатываются в алфавитном порядке в зависимости от имени файла, поэтому используйте имя, начинающееся с буквы «Z», приводит к тому, что этот файл обрабатывается после «windows.natvis», перезаписывая уже существующий визуализатор.
Но что я могу сделать, чтобы отображать список информации в виде одной строки? Итак, "windows.natvis" содержит следующую запись:
Код: Выделить всё
32
value[$i],nvoxb
Код: Выделить всё
APP_LOCAL_DEVICE_ID test; // for natvis reasons: check "ListItems"
test.value[0] = 0x01;
test.value[1] = 0x02;
test.value[2] = 0x04;
test.value[3] = 0x08;
test.value[4] = 0x10;
test.value[5] = 0x11;
test.value[6] = 0xAB;
test.value[7] = 0xFF;

=> Это более или менее то, что я хочу.
Итак, очень наивно, я изменил SAFEARRAY в моей записи ZSAFEARRAY.natvis следующим образом (не смейтесь):
Код: Выделить всё
rgsabound[cDims - $i - 1].cElements
value[$i],nvoxb
Backward
cDims
rgsabound[cDims - $i - 1].cElements
rgsabound[cDims - $i - 1].lLbound
((signed short *)(*this).pvData)
...
((unsigned int *)(*this).pvData)
...
Вы видите: хотя я сразу понимаю, почему это не может работать, я понятия не имею, как заставить это работать.
У кого-нибудь есть идея, как получить элементы SAFERARRAY в виде одной строки в natvis?
(Для вашей информации, я работаю с Visual Studio 2022.)
Заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/798 ... tch-window
Мобильная версия