With "set print vtbl on", I think ptype should also show the vtable. struct q { virtual ~q () = default; int x = 23; }; q qqq; (gdb) set print vtbl on (gdb) ptype q type = struct q { public: int x; ~q(); } It would also be nice to have a ptype flag to enable this per-use. Finally, perhaps ptype/o should always show the vtables, since the point of this is to understand the layout of the object in memory.