Linux (Ubuntu 11.10) と gdb 7.3 / Nemiver 0.8.2 を使用しています。
STL コンテナのコンテンツを表示したいのですが、今のところうまくいきません。
STL コンテナー変数を表示するために使用する必要がある他のビジュアル デバッガー (gdb に基づく) はありますか?
コンテナの構成をサポートするソリューションを探しています(つまりstd::map<int, std::vector< std::pair< ... > > >
)。
乾杯
次のファイルをダウンロードします -
https://github.com/jgarvin/joe-etc/blob/master/gdb/stl-views-1.0.3.gdb
GDB から -
# source <PATH>/stl-views-1.0.3.gdb
# pmap <map-object> <key-type> <value-type>
...
GDB の十分な新しいバージョンは、Python からのきれいな印刷 API をサポートしています。これにより、アプリケーションは Python コードを提供して、オブジェクトの表示の一部をカスタマイズできます。このコードは、CLI (gdb プロンプトで「印刷」) と MI (GUI が使用する、または少なくとも使用する必要があるインターフェイス) の両方で動作するように設計されています。
GCC の十分な新しいバージョンでは、libstdc++ のすべての重要なデータ構造に対して Python のプリティ プリンターが出荷されています。
最後のステップは、十分に新しいバージョンの nemiver を入手することです。0.9.2 にはこの機能があると思います。
多くのディストリビューションでは、プログラムが libstdc++ を使用している場合にプリティ プリンターが自動的にアクティブになるように、gdb と gcc がセットアップされて出荷されます。したがって、nemiver をアップグレードするだけで十分な場合があります。それ以外の場合は、これを設定する方法に関するドキュメントがオンラインでたくさんあります。