gdbを使用してデバッグする場合、STL/boostを使用するc++コードは依然として悪夢です。STLでgdbを使用したことがある人なら誰でもこれを知っています。たとえば、ここのコードでいくつかのデバッグセッションのサンプル実行を参照してください。
ヒントを集めて痛みを和らげようとしています。以下に収集したヒントについてコメントしていただけますか(特に、使用しているヒントと、それらに推奨する変更)-ヒントは技術の降順でリストされています。
- 「StanfordGDBSTLutils」と「UCFGDButils 」を使用している人はいますか?ブーストデータ構造のためのそのようなユーティリティはありますか?上記のutilsは、たとえば、1つのコマンド内で読みやすい方法でboost :: shared_ptrのベクトルを出力する場合など、再帰的に使用できるようには見えません。
- .gdbinitファイルを作成します。たとえば、UCFGDButilsの下部にリストされているC++関連のビューティファイアを含めます。
- STLportなどのチェック済み/デバッグSTL/Boostライブラリを使用します。
- ロギングを使用します(たとえば、ここで説明されているように)
更新:GDBには新しいC++ブランチがあります。