EclipseでデバッグするときSTLコンテナの中身を整形して表示
C++でプログラミングをしていて,デバッグするときにgdbを使えばいいんですけど使い方がいまいちよくわからないのでEclipseを使ってデバッグしたらGUIだし見やすくて操作もしやすくていいかなと思っていたらとんでもない罠があった.
STLコンテナの中身がカオス!
絶対綺麗に表示できるようなプラグイン的Somethingがあるはずだと思い調査.
一応公式に書いてあった http://wiki.eclipse.org/CDT/User/FAQ#How_can_I_inspect_the_contents_of_STL_containers.3F
GDB用のSTLサポートライブラリ的なものをダウンロード
svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python
または,http://sourceware.org/gdb/wiki/STLSupport からSTLSupportToolを適当なディレクトリにダウンロードして展開
gdbinitファイルを適当な場所に作成
python import sys sys.path.insert(0, '/home/maude/gdb_printers/python') from libstdcxx.v6.printers import register_libstdcxx_printers register_libstdcxx_printers (None) end
Eclipseでgdbinitの場所を指定.
Window -> preferences -> C/C++ -> Debug -> GDB参考