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++ (LLVM C++ 표준 라이브러리 (C++ 11 지원))를 사용하므로 시나리오 3에서이 문제를 해결해야합니다.
누구에게 무슨 일이 일어날 지 알고 있고 수정 사항이 있는지 알고 있습니까?
이렇게하면 도움이되지는 않지만, 저는 항상 이런 종류의 일을 Xcode에서 실행합니다. 그것은 lldb보다 gdb가 더 보편화되어 있지만 어느 쪽도 훌륭하게 작동하지 않습니다. 그것은 아주 오랜 시간이 길을왔다. 그것에 대해 버그를 제기 할 때 대개 고정되어 있지만 다른 인스턴스가 다른 곳에 나타납니다. Xcode가 이러한 문제를 가지고있는 이유는 모르겠지만 다른 인기있는 개발 도구는 그렇지 않습니다. – user1118321