2011-10-22 5 views
1

여러 파일을 실행 파일로 컴파일 할 때 문제가 있습니다. GCC 내 명령은하십시오 DSYM을 만들지 않습니다 분명히GDB가 심볼 파일을 생성하지 않는 이유는 무엇입니까?

gcc -g -o PartitionedHashJoin -O0 -msse4.2 -lm -DNUM_BUCKETS=2 Relations.h Relations.c PartitionedHashJoin.h PartitionedHashJoin.c 

GCC는 올바르게 컴파일하지만 (Mac OS)를 심볼 파일. SSE 또는 -lm 컴파일러 옵션을 제거하려고했지만 아무런 효과가 없습니다.

내 디버그 기호를 가져 오는 방법에 대해 알고 계신 분이 있습니까?

감사합니다.

업데이트/편집 : 내가 포함 된 문자 정착 것, 그것은 DSYM 파일 일 필요는 없지만 포함 된 사람도없는 것 같다. dsymutil은 위의 명령으로 만든 실행 파일에서 찾을 수 없습니다.

+0

시스템에'dsyumutil '이 설치되어 있는지 확인하고 [이 주석] (http://stackoverflow.com/questions/4850788/prevent-compiling-from-generating-dsym-on-os-x-using)을 읽으십시오. -make/5391173 # 5391173). –

+0

유틸리티가 설치되었습니다 - 힌트를 주셔서 감사합니다. 유틸리티를 호출 할 때 실행 파일 내에 디버그 심볼이 누락되었다고 불평합니다. 분명히 거기에서도 생성되지 않습니다. – Patrick

+0

또한 -ggdb를 사용해보십시오. 그러나 도움이되는지 확신 할 수 없습니다. –

답변

0

다른 유닉스와 리눅스에서 gcc는 오브젝트 파일 내부에 디버깅 정보를 내 보냅니다. MacOSX에서 무슨 일이 일어나고 있는지 모르겠습니다.

+0

dma_k의 링크는 심볼도 Mac OS X 용 오브젝트 파일에 있어야한다고 지적했습니다. 그러나 나는 (또는'dsymutil') 그들을 찾을 수없는 것 - gcc를 호출 할 때 저장할 위치를 지정해야합니까? – Patrick

관련 문제