2012-08-28 5 views
0

Xcode 4로 큰 C++ 프로젝트를 디버깅하려고합니다. makefile로 실행 파일을 실행해야하므로 외부 빌드 시스템으로 프로젝트를 추가했습니다. 프로그램은 정상적으로 컴파일되고 예상되는 출력으로 실행됩니다. 하나의 파일을 편집하여 컴파일하는 동안 오류가 발생하면 Xcode는이를 확인하고 올바른 파일의 올바른 행으로 이동합니다. 문제는 내가 설정 한 중단 점에서 시스템이 멈추지 않는다는 것입니다.Xcode 4에서 외부 빌드의 중단 점에서 중지

here으로 설명한 구성표에 실행 파일을 추가했습니다. 모든 소스 파일을 프로젝트에 추가했습니다. here과 같이 사용자 지정 작업 디렉터리를 올바른 작업 디렉터리로 설정했습니다. 나는 Xcode에 의해 빌드 된 실행 파일이 정말로 하나라고 확신하게 만들었고 수동 실행, 변경 사항을 기다리기 위해 스키마를 설정 한 후에 수동으로 실행 해 보았습니다.

중단 점을 설정하면 파란색으로 표시됩니다.

다른 누군가에게 내가 시도 할 수있는 것에 대한 힌트를 줄 수 있습니까? 매우 감사합니다!

답변

0

디버깅 정보를 포함하려면 g ++에 -g 옵션을 추가하십시오. 도와 줘.

0

나는 같은 문제도 가지고있었습니다. 나는 메이크 파일에서이 라인을 포함하며 트릭

#also include debug symbols 
CFLAGS+=-ggdb 
0

을 원본 파일을 가져올 때 "필요한 경우 파일 복사"확인란을 선택 했습니까? 그것은 좋지 않은 것 같습니다. 그것이 나를 위해 중단 점을 만들지 못한 이유입니다. 모든 소스 파일을 제거하고 다시 가져와 Xcode가 별도의 복사본을 만들지 않도록해야했습니다. 그 중단 점이 작동합니다.

나는 Xcode가 디버거 정보 (-g/-ggdb)를 소스의 자체 복사본 또는 그 정맥과 관련시킬 수 없다고 생각합니다.

0

정확히 동일한 문제 (Xcode 8.3.3)가 있지만 makefile에 -ggdb를 추가해도 문제가 해결되지 않았습니다. makefile이 .o 파일을 빌드 (rm -f $ (OBJFILES))의 일부로 정리하고 있음을 발견했습니다. 기호 정보가 .o 파일에 있기 때문에 Xcode를 삭제하면 더 이상 디버그 할 수 없습니다. 나는 rm 행을 주석 처리했으며 모든 것이 이제는 작동합니다. 나는 -g 플래그를 사용했다. 누구와도 싸우는 사람은 .o 파일이 적절한 위치에 있는지 확인해야합니다.

관련 문제