2009-09-02 7 views
2

ARM 타겟 프로세서 용 Linux 호스트에서 gcc를 사용하여 빌드하는 어플리케이션이 있습니다. 이 생성 된 ARM 실행 파일은 ARM 개발 보드에서 실행됩니다. 난 내 빌드 환경에서 ARM 어셈블리 소스 파일이있는 경우gcov가 어셈블리 언어 코드에 대한 코드 커버리지 분석을 제공합니까?

  1. 이 쇼의 코드 커버리지를 gcov는 것 : 좀 코드 커버리지 분석을 수행 할?
  2. 내 빌드 환경에 일부 X86 어셈블리 소스 파일이있는 경우 gcov가 코드 적용 범위 데이터를 표시합니까?

감사합니다. -AD.

답변

2

AFAIK, gcov는 C 또는 C++ 소스 코드를 사전 처리하여 작동합니다. 어셈블리 언어 파일이 순수한 경우 gcov가 으로 간주되지 않습니다. 만약 그렇다면

, 나는 그것을 안전하게 임의의 대상 어셈블리 코드, 희미한 기회가 그래서 ARM 충분한 공통되는과 에 코드를 삽입하는 방법을 이해한다면 놀라게 될 것입니다. 어셈블리 코드를 계측 할 때의 문제는 테스트 커버리지 코드 자체에 레지스터가 필요함 ( ) 안전한 방법이 없습니다. 임의의 조각 (어셈블러), a) 사용 가능한 레지스터 및 b) 삽입 된 명령어가있는 경우 다른 명령어 (예 : 삽입 된 명령어에 대해 상대 )가 추가 공간 때문에 끊어집니다 ( ).