2010-11-09 78 views
0

我有興趣使用Netbean的默認GDB調試器爲C和C++項目以特定的方式顯示結構/類對象,這樣我就可以更快地完成代碼。對於Java,使用工具 - >選項 - >其他 - >變量格式化程序下的「變量格式化程序」部分可以輕鬆地完成此操作。我正在尋找類似於C/C++的東西。這種方法存在嗎?Netbeans打印調試值C/C++

編輯:爲了澄清我的問題,在調試器變量標籤中有一個「值」列。我謹代表這是從對象的調用,例如printf("%s", MyObject.getHeight());

回答

0

我不知道Netbeans的足夠幫助你用宏來做到這一點,但有一個簡單的解決方案,無論是:

  • 讓調試器訪問一個變量(由「公」,而不是私人在你的C++類)

  • 在程序中添加以下代碼:INT高= MyObject.getHeight();所以你可以在調試器中顯示變量。

事情通常通過簡化問題來完成。

+0

雖然第二點是解決方案,但它並沒有幫助我的問題。如果只有一個對象實例我不介意,但整個程序中有數百個,我不想修改源代碼。你能否詳細說明第一個要點?我可以讓調試器以某種方式訪問​​此變量,以始終顯示在該值字段中嗎? – Ryan 2010-11-09 13:14:30

2

我相信你在找什麼可以用gdb的Python的漂亮的打印功能,實現從以下解釋:

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。我自己使用這個來自定義顯示,在Variables選項卡中,爲我自己的類。它需要一點閱讀和一點Python知識,但是一旦你掌握了它的知識,它就非常強大,而且絕對值得學習。