0
我有一个数据结构s有一个重载的方法'< <'。我想看看用gdb这种结构,所以我用gdb没有打印数据结构过载方法<<
(gdb)print s
然而,这并不能打印
cout << s
它提供了很多关于结构S的更多信息,填补了很多屏幕。我对s中的每一点数据都不感兴趣,我只想看看'< <'打印的信息会发生什么。我如何告诉gdb只打印这些信息?
我有一个数据结构s有一个重载的方法'< <'。我想看看用gdb这种结构,所以我用gdb没有打印数据结构过载方法<<
(gdb)print s
然而,这并不能打印
cout << s
它提供了很多关于结构S的更多信息,填补了很多屏幕。我对s中的每一点数据都不感兴趣,我只想看看'< <'打印的信息会发生什么。我如何告诉gdb只打印这些信息?
你也许能够:
call 'operator<< (std::ostream&, myclass&)'(gdbcout, s)
但是GDB不知道什么cout
是,所以你必须提供自己:
std::ostream gdbcout (std::cout.rdbuf());
而且我敢肯定你除此之外,还会有更多的困难。在任何类s
上提供PrintMe()
方法可能更容易,然后从GDB调用该方法:
print s.PrintMe()