読者です 読者をやめる 読者になる 読者になる

stlのコンテナをgdbできれいに表示する

GDB C++

vectorの要素を見たいんですよ。こんな風にできる。

(gdb) p f.c.x
$2 = std::vector of length 2, capacity 2 = {1.4141999999999999, 3.1415000000000002}

gdbのversionを上げて(macportで入れていたのを上げたんだが、上がっていなくて何が起こったかと思ったらggdbになっていた)から、.gdbinitに書いてあるpythonのスクリプトを追加すればおk。

追記

vectorのprintがきれいにできるようになってハッピーと思ったのだが、macportで入れたgdb 7.3.1やらソースから入れたgdbではstep inがなぜだかできず使いものにならない。。。結局、"gdb-stl-views"付近を入れる。printするときにpvectorとか打つのだが、僕はコンテナが何であるかを考えずにpをしたいんですよねえええ。。。人間様がコンテナ毎に打ち変えるとかありえない。型読んで欲しい。