문제

멀티 스레드 애플리케이션의 적용 범위 테스트에 gcov를 사용할 수 있습니까?

나는 우리의 코드 기반에 대한 몇 가지 간단한 테스트를 설정했지만 우리가 달성하고 있는 적용 범위에 대한 아이디어를 갖는 것이 좋을 것입니다.gcov가 적합하지 않은 경우 누구나 대체 도구(oprofile 가능)를 권장할 수 있으며, 이상적으로는 시작에 대한 좋은 문서가 포함되어 있습니다.

도움이 되었습니까?

해결책

우리는 멀티스레드 애플리케이션에 대한 적용 범위 정보를 얻기 위해 확실히 gcov를 사용했습니다.

동적 코드를 다룰 수 있는 gcc 4.3으로 컴파일하고 싶습니다.

당신은 -fprofile-arcs -ftest-coverage 옵션을 선택하면 코드는 gcov가 처리할 수 있는 .gcda 파일을 생성합니다.

우리는 제품을 별도로 빌드하고 단위 테스트와 회귀 테스트를 실행하여 이에 대한 적용 범위를 수집합니다.

마지막으로 lcov를 사용하여 HTML 결과 페이지를 생성합니다.

다른 팁

Gcov는 멀티스레드 앱에서 잘 작동합니다.계측 아키텍처는 적절하게 직렬화되어 충실도가 좋은 커버리지 데이터를 얻을 수 있습니다.

gcov를 함께 사용하는 것이 좋습니다. 리코브.이를 통해 전체 프로젝트부터 개별 소스 파일까지 범위가 넓은 훌륭한 보고서를 얻을 수 있습니다.

lcov는 또한 소스의 색상이 잘 구분된 HTML 버전을 제공하므로 적용 범위 경과를 신속하게 평가할 수 있습니다.

멀티스레드 적용 작업에는 gcov를 사용하지 않았습니다.그러나 MacOS에서는 Apple의 Shark 도구가 여러 스레드를 처리합니다.주로 프로파일러이지만 적용 범위 정보도 수행할 수 있습니다.

http://developer.apple.com/tools/sharkoptimize.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top