2010-07-09 3 views
6

일반적으로 gdb 백 트레이스를 사용하여 응용 프로그램을 디버깅하지만, 최근 iPhone 시뮬레이터에서 테스트 할 때 더 이상 할 수 없습니다. 파란색 gdb 단어는 콘솔에 표시되지 않으며 "bt"또는 "backtrace"를 입력해도 아무런 반응이 없습니다. 그래도 나는 여전히 장치에서 제대로 빌드하고 디버그 할 수 있습니다.iPhone 시뮬레이터 용으로 빌드 할 때 Xcode 콘솔에 gdb가 더 이상 존재하지 않습니다.

내 XCode 버전은 3.2.3입니다. 수동으로 gdb를 활성화 할 수있는 방법이 있습니까 (더 중요한 것은 백 트레이스입니까?).

답변

0

프로그램이 멈추고있는 경우 이는 소리가납니다. 디버거 콘솔이나 디버거 창에서 '일시 중지'버튼을 눌러 앱을 중단하고 현재 실행중인 위치를 확인할 수 있습니다.

+0

보통 앱을 실행하자마자 파란색 gdb 단어가 콘솔에 표시되고 앱이 다운되면 백 트레이스를 사용할 수 있습니다. 지금 나는 이것의 어느 것도 가지고 있지 않다. 시뮬레이터 재설정, 시뮬레이터 재시작, XCode 다시 시작, Mac 재시작 ... 도움이되지 않습니다. 남은 유일한 해결책은 SDK를 다시 설치하는 것입니다. – iamj4de

+0

그래서 Xcode가 '앱 실행 중 상태가 아닙니다'로 돌아가거나 (툴바의 작업 버튼이 회색으로 표시됨) 툴바에서 작업 버튼을 사용하도록 설정되어 있습니까? –

+0

활성화 된 상태로 유지됩니다. – iamj4de

1

Jack이 지적 하듯이 일시 중지 버튼은 gdb &을 수동으로 활성화하여 사용자가 요청한 것입니다. 잘못된 설치가있을 수 있습니다. 가끔/Developer 폴더 &을 다시 설치해보십시오. Xcode 3.2.3 및 디버거가 정상적으로 작동하므로 하루에 여러 번 사용합니다.

특히 CMD-Y는 "디버거를 사용하여 실행 &"이지만 CMD-R은 "빌드 & 실행"(기본적으로 디버거 없음)이므로 CMD-Y를 사용하고 있는지 확인하십시오.

다른 문제 : 앱이 종료 된 후 빨간색 정지 신호 아이콘이 앱이 종료되었음을 인식하지 못하기 때문에 다시 중지해야합니다. 이것은 iOS-4가 백그라운드에서 실행중인 앱을 유지하기 때문이라고 생각합니다.

0

또한 홈 폴더 .gdbinit 파일이 올바른지 확인하고 확인하십시오. 존재하는 경우 옆으로 옮겨 문제가 사라지는 지 확인하십시오.

0

정확하게 동일한 상황인지는 모르겠지만 도움이 될 수 있습니다. 내 iPhone이 펌웨어 4.0.2에 있었지만 Xcode SDK가 펌웨어 4.0.1이었습니다. 일반적으로 Xcode는 4.0.2를 지원하는 최신 Xcode로 업그레이드해야한다고 불평합니다. 이번에는 그렇지 않습니다.

내 머리를 두드려서 왜 중단 점을 설정할 수 있었지만 디버거가 내 중단 점에서 멈추지 않았습니다 (중단 점은 주황색이었고 기호가로드되지 않았다는 신호 임). 내 iPhone을 재부팅하기로 결정했는데 Xcode가 경고를 표시했습니다 (전에 없었던 시점). 4.0.2 용 Xcode로 업그레이드하면 당연히 문제가 해결되었습니다. Xcode가 최신 펌웨어로 업데이트되지 않았습니까?

0

비슷한 문제가 있지만 정확한 상황을 기억할 수 없습니다. 기본 SDK (프로젝트 정보 빌드 탭에서)가 시뮬레이터가 아닌 장치로 설정되었습니다. 어둠 속에서 한 발의 비트지만, 아마도 가치있는 검증 일 것입니다.

+2

중요하지 않다고 생각합니다. Base SDK를 장치에서 시뮬레이터로 전환하려고했지만 문제가 여전히 지속되고 Base SDK의 가치에 관계없이 내 메모리에서 제대로 작동하는 데 사용되었습니다. – iamj4de