2011-02-03 11 views
15

Mam niektóre typy C++, dla których chciałbym poprawić doświadczenie debugowania w moim zespole. Dlatego chcę utworzyć niestandardowy wizualizator w pliku autoexp.dat. Sekcja [AutoExpand] wydaje się niewystarczająca, więc zacząłem patrzeć na [Visualizer]. Znalazłem this website z kilkoma wyjaśnieniami, ale czy istnieje jakiś obszerny odnośnik/podręcznik/samouczek? Nie dostaję różnicy między $ c i $ e, na przykład. Udało mi się już wyświetlić pewne podstawowe informacje, ale czuję, że jest o wiele więcej do poznania ...Tutorial/Manual jak stworzyć Visualizer w autoexp.dat

Czy znasz jakieś dobre źródło informacji?

Dzięki!

+1

Tak dla twojej informacji, oprócz zwiększenia odnośnik sandbox w virtualdub.org cię cytowany [tutaj] (https://svn.boost.org/trac/boost/ wiki/DebuggerVisualizers) –

+0

Jeśli chodzi o różnicę między $ c i $ e, jest notatka pod adresem [notatka uzupełniająca] (http://www.virtualdub.org/blog/pivot/entry.php?id=172) (przepraszam, jeśli już to widziałeś). –

+0

Nie, nie widziałem tego! Wielkie dzięki! Możesz to zrobić, jeśli chcesz! – Philipp

Odpowiedz

6
0

Poniżej znajduje się przykład wizualizatora dla boost :: tuple. To powinno być dość łatwe do naśladowania:

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 
     ) 
    ) 
}