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, даже если отладчик может фактически отличить их.

Другие вопросы по тегам