używam boost::mpl::string<...>
rodzajów intensywnie ... wystarczy, że byłoby naprawdę pomoc z debugowania mieć typy całkiem zadrukowanych w gdb
.całkiem doładowania druk :: mpl :: string <...> typy w gdb
... Więc zamiast gdb
pokazujący jednostkę (multicharacter dosłowne) elementy jak obecnie robi ...
boost::mpl::string<1668248165, 778856802, 778858343, ..., ..., 0, 0, 0, 0, 0, 0>
Byłoby wyświetlić równoważną wartość ciągu zamiast ...
boost::mpl::string<"The way out is through">
Widziałem skrypty makr i pythonów gdb
dla ładnie drukowanych kontenerów STL w gdb
, ale nie mogłem znaleźć jednego dla ładnie drukowanych ciągów boost::mpl
. Czy ktoś może w tym pomóc?
UPDATE: Dodałem +100 Bounty ... szukam rozwiązania, które wykorzystuje najnowsze wsparcie GDB dla ładnego drukowania poprzez python (jak opisano here dla kontenerów STL).
** Działa jak urok! ** Teraz mogę z łatwością upiększyć inne nazwy w pythonie używając tej samej metody. Dziękuję Ci. – etherice
@etherice Proszę opublikuj swoje drukarki, pewnego dnia. –
Aby wyjaśnić kilka części instrukcji: 'printers.py' i' mpl_printers.py' powinny przejść do podkatalogu 'boost' (tzn.'/Usr/local/share/gdb/python/boost'), więc moduł nazwy w 'register_printers.gdb' są prawidłowe. Również podkatalog 'boost' musi zawierać plik' __init __. Py' (który może być pusty), więc python rozpoznaje go jako katalog zawierający moduły (w przeciwnym razie pojawi się błąd 'ImportError: No module named boost.printers') . – etherice