C++のリスト反復でデバッグしようとすると問題が発生します。Xcode 4.4のlibC++でのデバッグの問題
私は簡単なテストアプリ作っ:「リスト:私は矢印でマークされた行の午前とき、私はステップオーバー時にデバッグ中
int main(int argc, const char * argv[])
{
// insert code here...
std::cout << "Hello, World!\n";
std::list<int> list;
list.push_back(1);
list.push_back(2);
--> list.push_back(3); //Line before step over
for (std::list<int>::const_iterator i = list.begin(); i != list.end(); i++)
{
std::cout << *i << std::endl;
}
return 0;
}
を、それはC++ファイルからコード上でのステッピングを開始します' 私は最終的にforステートメント内のコードに到達するまで15回以上ステップオーバーする必要があります。
この問題は、Xcode 4.4でのみ発生します。 Xcode 4.3では、デバッグは完全に機能します。
はここで異なる結果といくつかの異なるシナリオがあります:それはうまく動作→
- は、コンパイラとしてLLVM GCC 4.2を使用してください。
- Apple LLVMコンパイラ4.0を使用し、C++標準ライブラリ用にlibstdC++(GNU C++標準ライブラリ)を設定する→正常に動作します。
- Apple LLVMコンパイラ4.0およびC++標準ライブラリのlibC++(LLVM C++標準ライブラリ(C++ 11サポートあり)を設定)→問題が発生します。
私が取り組んでいるプロジェクトでは、Apple LLVMコンパイラ4.0とlibC++(C++ 11サポートのLLVM C++標準ライブラリ)を使用していますので、シナリオ3でこの問題を解決する必要があります)。
誰かが何が起こっている可能性がありますか、それに対して修正がある場合は知っていますか?
これは役に立ちませんが、私はこの種のことを常にXcodeで実行しています。 gdbの方がlldbよりも普及しているようですが、どちらもうまくいきません。それは非常に長い時間この方法でした。私がバグを報告すると、通常は修正されますが、別のインスタンスが別の場所にポップアップします。なぜXcodeにこれらの問題があるのかよくわからないが、他の一般的な開発ツールではそうではない。 – user1118321