C++ 打印增强型强typedef';gdb中的ed类型
我在代码中使用了C++ 打印增强型强typedef';gdb中的ed类型,c++,boost,gdb,C++,Boost,Gdb,我在代码中使用了BOOST\u STRONG\u TYPEDEF,根据std::string(这样我就可以拥有服务器ID和文件ID,例如,当函数需要文件ID时,不要意外地传递服务器ID) 我现在正在调试我的代码,当我迭代一组这种类型定义的对象时,打印当前元素会很有用。不幸的是,boost的模板化特性使输出很难阅读: (gdb)p服务器 $11=(常数mpn::seru ID&)@0x756660: {,std::分配器>, boost::detail::empty_base>>>= {,std:
BOOST\u STRONG\u TYPEDEF
,根据std::string
(这样我就可以拥有服务器ID
和文件ID
,例如,当函数需要文件ID时,不要意外地传递服务器ID)
我现在正在调试我的代码,当我迭代一组这种类型定义的对象时,打印当前元素会很有用。不幸的是,boost的模板化特性使输出很难阅读:
(gdb)p服务器
$11=(常数mpn::seru ID&)@0x756660:
{,std::分配器>,
boost::detail::empty_base>>>=
{,std::分配器>,
boost::detail::empty_base>>>=
{,std::分配器>,
boost::detail::empty_base>>>=
{,
std::分配器>,boost::detail::empty_base>>=
{,
std::allocator>,boost::equality\u Compariable2,
std::allocator>,boost::detail::empty_base>>=
{,
std::分配器>,boost::detail::empty_base>>=
{>={},},},},},},},},t=“B”…}
是否有某种方法将对象投射到字符串(C++允许使用<代码>静态TaskStudio<代码>)并正常打印?< /P> 有没有办法将对象转换为字符串
是:你需要为它定义一个漂亮的打印机 结果是
BOOST_STRONG_TYPEDEF
将底层对象作为TYPEDEF的属性:
(gdb) p server.t