2012-01-26 2 views
3

10 억 번째 시간 동안이 문제에 직면하고 나의 맥 공기를 거의 좌절감으로 몰아 부친 후, 다른 누군가가 뛰었는지 물어보기로했습니다. 이 ...코드를 단계별로 실행하면서 Xcode 디버깅 (GDB)이 무작위로 멈춤

환경 : iOS 4.2 이상의 응용 프로그램 (범용 응용 프로그램)에 대한 XCode의 최신 버전 (이 질문에 대한 : 4.2, 빌드 4C199) 실행 중.

GDB는 코드 줄을 단계별로 실행하면서 임의로 멈추는 것으로 나타납니다. 이것은 이제 여러 코드베이스에서 그리고 각 코드베이스의 여러 위치에서 나에게 일어났습니다. 스테핑 프로세스는 임의의 지점에서 중지되며 실행중인 iOS 시뮬레이터 또는 온 디바이스 프로세스를 중지했다가 다시 시작해야합니다. 일반적으로, 내 디버깅 세션을 다시 시작한 후에/thru에 들어서면서 다른 임의의 지점에 도달 할 수 있습니다. 때로는 실제로 내 코드를 완전히 디버깅하기에 충분합니다.

Mac OS X 10.6.8과 앞서 언급 한 XCode의 새로운 복사본을 다시 설치하여 드라이브를 지우려고했습니다. 아무런 차이가 없습니다.

나는 디버거를 LLDB로 전환하려고 시도했다. 이것은 매달린 문제를 해결했지만, 나는 LLDB의 팬이 아니라 가능한 한 가까운 주식을 사용하는 것을 선호합니다.

의견이 있으십니까?

답변

0

OS와 SDK를 다시 설치 한 후에도 GDB가 멈추는 경우, 특정 코드에 대한 디자인 문제 일 수 있습니다. 다른 프로젝트에서도 이러한 현상이 발생합니까?

당신의 기분을 좋게한다면, 애플은 Xcode의 주식 디버거로 LLDB로 옮기고 있습니다. 아마도 앞서 말한 문제 같은 것이 있습니다.

+0

응답 해 주셔서 감사합니다. 그것은 내 코드 기반 디자인 문제가 있었다면, 그것은 별도의 스레드에서 실행할 수있는 타이머/비동기 이벤트로 인한 것 같아 ... GDB 중단 점을 때 모든 스레드에서 중지합니까? –

+0

나는 불확실하다. 내 지식으로는 스레드 자체를 멈추게 할 것이지만, 모든 스레드를 멈추게 할 지 확신 할 수 없다. 디버깅 관점에서 볼 때 두 시나리오 모두 의미가 있습니다. – Tim

+0

글쎄, 나는이 문제를 해결할 수있는 해결책을 찾지 못했지만 귀하의 답변에 감사드립니다. 애플이 표준 디버거로 LLDB로 전환 할 것이고 LLDB가 문제를 나타내지 않는다고 언급했듯이, 문제 해결을 위해 (해결책을 알려주는) 크레딧을 줄 것이다. 건배. –

관련 문제