正如我所看到的,使用NetBeans不可能找出STL地圖中的內容。如何在NetBeans C++中預覽STL容器中的變量(例如std :: map)?
是否有任何插件/技巧/解決方案可以讓我在調試模式下打印出地圖中的所有值?
據我所知,它使用GDB來調試C++應用程序。我爲STL容器找到了一些很好的GDB宏(這裏是:http://sourceware.org/ml/gdb/2008-02/msg00064.html)。是否有可能從NetBeans內部執行它們?
正如我所看到的,使用NetBeans不可能找出STL地圖中的內容。如何在NetBeans C++中預覽STL容器中的變量(例如std :: map)?
是否有任何插件/技巧/解決方案可以讓我在調試模式下打印出地圖中的所有值?
據我所知,它使用GDB來調試C++應用程序。我爲STL容器找到了一些很好的GDB宏(這裏是:http://sourceware.org/ml/gdb/2008-02/msg00064.html)。是否有可能從NetBeans內部執行它們?
嘗試將它們放入源文件所在的目錄(或您的主目錄)中的.gdbinit
文件中,並查看GDB是否將其選中。
NetBeans在內部使用gdb
,因此將gdb
更新爲漂亮打印的標準庫容器,因此使得NetBeans顯示出合理的值。
按照對GDB維基的說明安裝Python查看STL容器漂亮的打印機:http://sourceware.org/gdb/wiki/STLSupport
(檢查以確保路徑是正確輸入內部.gdbinit
;嘗試在Python輸入命令,以確保其所有作品)
但是,這漂亮的印刷只適用於g ++ 4.7(及以上)。檢查以確保編譯器的版本已經足夠:
g++ --version
要安裝最新版本(Linux Mint的13,從here):
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-4.7 c++-4.7
更新gcc
和g++
指向新的4.7版本(從here):
sudo su
rm /usr/bin/g++
rm /usr/bin/gcc
ln -s /usr/bin/g++-4.7 /usr/bin/g++
ln -s /usr/bin/gcc-4.7 /usr/bin/gcc
是的,但問題是:如何在NetBeans中使用它們? – ssobczak 2010-09-21 07:10:51