2010-08-02 9 views
1

32 비트 머신에서 -fprofile-arcs -ftest-coverage 플래그를 사용하여 커버리지를 위해 실행 파일을 크로스 컴파일합니다. 그리고 결과 실행 파일을 64 비트 대상 컴퓨터에서 실행하고 있습니다.gcov가 커버리지 파일을 생성하지 않습니다.

실행 파일을 실행할 때 .bb .bbg 및 .da 파일이 생성되지 않습니다. 그 이유는 무엇 일 수 있습니다.

+0

적어도 컴파일/링크에 사용중인 명령 줄을 볼 수 있습니까? – Dummy00001

+0

다른 컴퓨터에서 exe를 실행하고 있으므로 gcov는 객체 파일이 내가 인식하지 못하는 호스트 컴퓨터에 있고 gcda 파일이이 디렉토리에있는 완전한 디렉토리 계층 구조를 작성합니다. – Poorna

+0

1) 귀하의 의견을 듣지는 못하지만 커맨드 라인을 매우 고맙게 생각합니다. 2) 크로스 컴파일없이 사용해 볼 수 있습니까? –

답변

1

대부분의 이유는 데이터 파일이 컴파일이 실행되는 대상 플랫폼에서 액세스 할 수 없거나 쓰기가 불가능한 컴파일과 동일한 디렉토리에 생성된다는 것입니다.

최근의 gcc 버전과 함께 환경 변수 GCOV_PREFIX 및 GCOV_PREFIX_STRIP를 사용하여 기본 디렉토리를 무시할 수 있습니다.

+0

당신은 내 영웅입니다. 그러한 분명한 --- 간과하기 쉬운 --- 해결책. – Richard

관련 문제