NatVis: typedefs разрешены?
У меня есть тип, определенный как:
typedef unsigned short StringChecksum;
который я в конечном итоге намереваюсь использовать NatVis для отображения соответствующего значения в глобальной таблице строк, которую мы загрузили в память.
Итак, я определил новый NatVis для тестирования (это мой первый раз):
<?xml version="1.0" encoding="utf-8" ?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="StringChecksum">
<DisplayString>StringChecksum {this}</DisplayString>
</Type>
</AutoVisualizer>
Я включил отладку NatVis в реестре и вижу, что мой файл.natvis загружается отладчиком и успешно анализируется.
У меня также есть Edit и Continue выключены.
Однако, когда я отлаживаю код и проверяю StringChecksum, я не вижу никакой разницы, он показывает целое число. Я ожидал, что он покажет что-то вроде "StringChecksum 3433".
Возможно ли для NatVis работать с типами, определенными из простой typedef? Все примеры, которые я видел, используют классы. И если так, есть идеи, что может быть не так?
1 ответ
И ответ нет. Отладчик не может отличить исходный тип.
Интересно, что перечисления и даже строго типизированные перечисления в настоящее время не работают в VS2012 Update 2, даже если отладчик может фактически отличить их.