代码之家  ›  专栏  ›  技术社区  ›  Ryan

NETBeas打印调试值C/C++

  •  0
  • Ryan  · 技术社区  · 15 年前

    我感兴趣的是使用NETBee的默认GDB调试器来显示一个Stutt/Class对象,用于C和C++项目,这样我可以更快地跨过代码。对于Java,可以使用“工具”->“选项”->“其他”->“变量格式化程序”下的“变量格式化程序”部分轻松完成此操作。我正在寻找类似于C/C++的东西。这种方法存在吗?

    编辑:为了澄清我的问题,在调试器变量标记中有一个“值”列。我希望将此表示为来自对象的调用,例如 printf("%s", MyObject.getHeight());

    2 回复  |  直到 15 年前
        1
  •  0
  •   Sepp    15 年前

    我对Netbeans的了解不足以帮助您使用宏来实现这一点,但有一个更简单的解决方案:

    • 让调试器访问一个变量(在C++类中生成“公共”而不是私有的)

    • 在程序中添加以下代码:int height=MyObject.getHeight();以便在调试器中显示变量。

    事情通常是通过简化问题来完成的。

        2
  •  2
  •   user2785987    12 年前

    https://sourceware.org/gdb/current/onlinedocs/gdb/Pretty-Printing.html#Pretty-Printing https://sourceware.org/gdb/current/onlinedocs/gdb/Pretty-Printing-API.html#Pretty-Printing-API

    使用Python漂亮的打印机制,您可以控制gdb如何将给定类型的值呈现给NetBeans。我自己也用它为我自己的类定制了变量选项卡中的显示。它需要一点阅读和一点Python知识,但是一旦你掌握了它的窍门,它就非常强大,绝对值得学习。