2011-09-27 4 views
7

여러 플랫폼에서 코드를 빌드하는 makefile 기반 프로젝트가 있습니다. Mac에서는 디버깅을 위해 Xcode를 사용하고 싶습니다. Xcode를 외부 빌드 프로젝트로 설정했습니다. Xcode에서 응용 프로그램을 실행할 수 있습니다. 출력은 Xcode에 표시되고 응용 프로그램이 충돌하면 디버거로 드랍되지만 디버거를 실행할 때 소스 파일을 찾을 수 없으므로 어셈블리 출력 만 표시됩니다. Xcode에서 소스를 찾을 위치를 어떻게 알 수 있습니까?Xcode 4 외부 빌드 프로젝트 및 디버깅

또한 중단 점을 설정할 수 없지만 이것이 모두 동일한 문제라고 생각합니다.

+0

(소스 디버깅 및 작업 중단 점을 가지고), 그래서 나는 굴복하고 대한 일반 Xcode 프로젝트를 생성 도서관. 이것은 메이크 파일, Xcode, 아마도 비주얼 스튜디오 빌드를 유지할 필요가 있다는 것을 의미하지만 최소한 디버거를 다시 가져 왔습니다. – jdswain

답변

6

실행 파일에 대한 사용자 지정 작업 디렉터리를 설정하여 중단 점에서 중지하지 않는 문제를 해결할 수있었습니다. 이 변경 전에 Xcode 4에서 외부 scons 시스템을 사용하여 성공적으로 빌드 할 수있었습니다. Xcode에서 호출 될 때 내 코드가 실행되지만 중단 점은 무시됩니다. 제품에 엑스 코드에서 다음

, 이동 -> 편집 방식은 ... 검사는 '를 작업 디렉토리 사용자 정의 사용'나는 실행 파일과 같은 디렉토리로 설정.

중단 점이 작동하기 시작했습니다.

+0

고맙습니다. 나는 이것을 시도하고 그것이 작동합니다. 처음에는 그렇지 않았지만 디버그 빌드를 실행하고 있었기 때문에 디버그 실행 파일로 변경하면 모두 작동하기 시작했습니다. 두 개의 빌드를 유지해야 할 때 Xcode에서 하나는 이상적이었던 하나는 유지해야하므로 지금이 작업을 수행 할 수있게 된 것을 기쁘게 생각합니다. – jdswain

1

"Project Navigator"("실행"버튼 바로 아래에있는 파일 폴더 아이콘)에서 마우스 오른쪽 버튼을 클릭하고 "파일 추가 프로젝트"을 선택하십시오. 일반적으로 외부 빌드를 실행할 최상위 폴더를 찾아 추가를 클릭합니다.

+0

모든 소스 파일을 추가했습니다. 처음에는 이것을 폴더 참조 (파란색 폴더)로했지만 그룹과 파일 (노란색 폴더)을 추가하려고 시도했지만 어느 것도 작동하지 않았습니다. 일반 프로젝트에서는 '대상 멤버십'상자도 확인해야하지만 외부 빌드 프로젝트에서는 비활성화됩니다. – jdswain

4
  1. -g가 makefile의 컴파일러 옵션에 포함되어 있는지 확인하십시오.
  2. 구성표에 사용자 지정 작업 디렉터리를 설정하고 아직 실행 파일이 설정되지 않은 경우 실행 파일을 설정합니다.
  3. 프로젝트가 -g로 컴파일되지 않은 dylib을 당기지 않는지 확인하십시오. 프로젝트가 dylib와 주 대상을 빌드하는 경우 make install을 실행하려면 빌드 단계가 필요할 수 있습니다.
  4. "스트립"이 호출되지 않았는지 확인하십시오. xcode 외부에서 사용할 때 작동하는 makefile을 유지할 수있게 해주는 xcode가 설정된 환경 변수가 있습니다.

그냥이 문제를했고이 (엑스 코드 4.6) 일 나는 이것에 대한 해결책을 찾을 수 없습니다