2012-12-07 41 views
4

我正在使用CDT進行C++開發,該開發使用gdb進行調試。調試變量視圖僅顯示變量的聲明類型 - 不是基於vtable信息的實際類型。由於我非常依賴動態子類,所以聲明的類型通常不包含我需要的信息。我還必須忽略實際小類的價值。我發現這樣一個問題:vtable in polymorphic class of C++ using gdb 並且據說GDB能夠根據使用以下命令虛函數表信息打印的實際類型:Eclipse CDT調試:顯示動態類型

set print object on 

但如何做到這一點在Eclipse CDT?

順便說一句:這不是一個很常見的用例,所以它應該默認啓用?只要有人使用繼承和虛擬東西,在調試過程中看到真實的對象類型就非常重要。只顯示聲明的類型就像來自石器時代的感覺。

+0

好問題;任何人? – muehlbau

回答

2

這應該是因爲CDT 8.1這是CDT版本,當Eclipse Juno被釋放。 它需要GDB 7.5.1或更高版本才能工作。

在Linux上分佈最多最新GDB

我試着包裝的Eclipse在Ubuntu 14.04 CDT的朱諾發佈和月神M6發佈版本(附帶GDB-7.7和它的工作直遠開箱。

在Linux版本GDB版本早於7.5.1

如果你的發行版沒有提供GDB很幸運容易建立。 您可以下載Ť他的來源:從http://www.gnu.org/software/gdb/download/只需要按照自述文件中的說明。花了不到20分鐘爲我打造。

當做到這一點,你可以配置Eclipse通過將使用新的GDB版本:

窗口 - >Preferecnes

從菜單欄。

然後導航到GDB條目,如下所示,並將「GDB調試器:」條目設置爲新的GDB可執行文件的路徑。

enter image description here