2011-02-03 4 views
15

У меня есть некоторые типы данных C++, для которых я хотел бы улучшить опыт отладки в моей команде. Поэтому я хочу создать собственный визуализатор в файле autoexp.dat. Раздел [AutoExpand] кажется недостаточным, поэтому я начал смотреть на [Visualizer]. Я нашел this website с некоторыми пояснениями, но есть ли какой-либо всеобъемлющий справочник/руководство/учебник? Например, я не понимаю разницу между $ c и $ e. Мне уже удалось отобразить некоторую базовую информацию, но я чувствую, что есть еще много чего знать ...Учебник/Руководство по созданию Visualizer в autoexp.dat

Знаете ли вы хороший ресурс?

Спасибо!

+1

Просто для информации, в дополнение, чтобы повысить песочнице ссылку в virtualdub.org вас цитируют, [здесь] (https://svn.boost.org/trac/boost/ wiki/DebuggerVisualizers) –

+0

Что касается разницы между $ c и $ e, то есть примечание к [примечание к сведению] (http://www.virtualdub.org/blog/pivot/entry.php?id=172) (извините, если вы уже видели это). –

+0

нет, я этого не видел! Большое спасибо! Вы можете сделать это ответом, если хотите! – Philipp

ответ

6

Появляется это уже комментировал выше, но кто-то идет на этот вопрос не обязательно читать комментарии и поэтому может пропустить большой учебник доступны на сайте повышающего:

https://svn.boost.org/trac/boost/wiki/DebuggerVisualizers

Также

http://mariusbancila.ro/blog/2007/04/06/tweaking-autoexpdat-for-custom-types-in-vs2005/

http://www.idigitalhouse.com/Blog/?p=83

http://www.chromium.org/developers/how-tos/how-to-set-up-visual-studio-debugger-visualizers

http://www.virtualdub.org/blog/pivot/entry.php?id=172

0

Ниже приведен пример визуализатора для boost :: tuple. Это должно быть довольно легко следовать:

boost::tuples::tuple<*>{ 
    ; Show as (11, 22, 33, ... }) 
    preview (
     #(
      "(" 
      , $e.head 
      , ", " 
      , $e.tail.head 
      , ", " 
      , $e.tail.tail.head 
      , ", " 
      , $e.tail.tail.tail.head 
      , ", " 
      , $e.tail.tail.tail.tail.head 
      , ", " 
      , $e.tail.tail.tail.tail.tail.head 
      , ", " 
      , $e.tail.tail.tail.tail.tail.tail.head 
      , ", " 
      , $e.tail.tail.tail.tail.tail.tail.tail.head 
      , ", " 
      , $e.tail.tail.tail.tail.tail.tail.tail.tail.head 
      , ", " 
      , $e.tail.tail.tail.tail.tail.tail.tail.tail.tail.head 
      , ")" 
     ) 
    ) 
    children (
     #(
      0: $e.head 
      , 1: $e.tail.head 
      , 2: $e.tail.tail.head 
      , 3: $e.tail.tail.tail.head 
      , 4: $e.tail.tail.tail.tail.head 
      , 5: $e.tail.tail.tail.tail.tail.head 
      , 6: $e.tail.tail.tail.tail.tail.tail.head 
      , 7: $e.tail.tail.tail.tail.tail.tail.tail.head 
      , 8: $e.tail.tail.tail.tail.tail.tail.tail.tail.head 
      , 9: $e.tail.tail.tail.tail.tail.tail.tail.tail.tail.head 
     ) 
    ) 
} 
Смежные вопросы