Il n'en est pas fait mention dans le dépêche, mais avec le scripting python arrive une fonctionnalité attendue depuis longtemps : le pretty-printing [1]. Cela permet de définir comment afficher une variable suivant son type. Jusqu'ici, gdb affichait tous les membres de la classe récursivement. On peut maintenant définir une classe qui spécifie comment afficher un objet d'un type particulier. Par exemple au lieu d'afficher les objets de type std::string comme ceci (exemple tiré de la doc) : (gdb) print s
1ドル = {
static npos = 4294967295,
_M_dataplus = {
<std::allocator> = {
<__gnu_cxx::new_allocator> = {<No data fields>}, <No data fields>},
members of std::basic_string<char, std::char_traits, std::allocator >::_Alloc_hider:
_M_p = 0x804a014 "abcd"
}
}
On aura : (gdb) print s
2ドル = "abcd"
Je pense qu'on va rapidement avoir des scripts python pour afficher de façon plaisante les éléments la STL ou de Qt.
# Pretty printing
Posté par Étienne . En réponse à la dépêche GDB 7.0 et le déverminage concurrentiel à rebours. Évalué à 6.
(gdb) print s
1ドル = {
static npos = 4294967295,
_M_dataplus = {
<std::allocator> = {
<__gnu_cxx::new_allocator> = {<No data fields>}, <No data fields>},
members of std::basic_string<char, std::char_traits, std::allocator >::_Alloc_hider:
_M_p = 0x804a014 "abcd"
}
}
On aura :
(gdb) print s
2ドル = "abcd"
Je pense qu'on va rapidement avoir des scripts python pour afficher de façon plaisante les éléments la STL ou de Qt.
[1]. http://sourceware.org/gdb/current/onlinedocs/gdb_24.html#SEC(...)