std::list<T>
Metrowerks CodeWarrior デバッガーでSTL のデータを表示する簡単な方法はありますか? 次のような式を見ると、リストの先頭または末尾付近のデータを表示できます。
instances->__list_imp.__list_deleter.end_.compressed_pair_imp.second_.prev_->data_
構造体メンバーの横にある小さな「+」記号を展開して、一度に 1 要素ずつリストをたどることができますが、これは面倒です。約 20 ~ 30 要素を超えると、デバッガー ウィンドウに対してツリーが広すぎます。私が調べているリストには、2000 を超える要素があります。
CodeWarrior デバッガーは、式で関数を呼び出すことをサポートしていないため、(++(++instances.begin()))
またはそのような値を調べることができません。非常に長くて不便な名前を持つ構造体メンバーしか見ることができません。
デバッガー ウィンドウも約 245 文字に制限されているため、N 番目のノードに展開される途方もなく長い式を生成するスクリプトを作成することはできません。
再現するのに数時間の浸漬が必要な問題をデバッグしようとしているので、コードを段階的に追加したり、再コンパイルしたり、再デバッグしたりする必要があるものは、あまり役に立ちません。しかし、他に選択肢がない場合は、そうしなければならないかもしれません。