2012-04-23 6 views
1

Xcode 4.3에서 제공하는 정적 분석기가 할당 해제되지 않은 ivars를 캐치 또는 플래그해야합니까?Xcode 정적 분석 및 AppCode 프로젝트 검사

저는 iOS 개발에 비교적 익숙하며 일부 확장을 찾고 있습니다. 제 팀은 XCode의 디버그 빌드를 위해 정적 분석을 사용하여 프로젝트를 빌드합니다. AppCode의 검사 기능을 평가하기 위해 전체 프로젝트를 검사했습니다.

AppCode의 검사가 좋을 것으로 기대했지만 Xcode에서 정적 분석을 사용하기 때문에 50 개가 넘는 ivars가 올바르게 할당 해제되지 않을 것으로 예상하지 않았습니다. 우리는 AppCode가 올바르게 문제를 확인했음을 확인했습니다. 몇 가지 경우에 알려진 메모리 누수가 해결되었습니다.

clang 정적 분석기가이를 감지해야합니까?

일부 프로젝트 설정이 올바르게 설정되지 않았기 때문에 기대가됩니다. clang 정적 분석기가 최소한 누락 된 할당 해제 플래그를 기대합니다.

답변

1

clang 메일 링리스트에서 답을 얻었으며 clang이이 문제를 파악할 수 있습니다. 문제는 XCode와 함께 제공되는 clang의 버전이이 기능을 사용할 수 없다는 것입니다.

안녕하세요, Seamus. Clang은이 수표를 지원하지만, 이 기본적으로 사용 중지되어 있습니다 (아마도 http://llvm.org/bugs/show_bug.cgi?id=8838).

본인은 계측기가 누출이나 누출을 식별하고 사실 확인했음을 동의합니다. 그러나 누수의 원인을 좁히는 과정이나 누출 가능성이있는 경우는 거의 없습니다. AppCode 플래그가 지정된 문제로 인해 팀에서 협상 할 수 없었던 두 가지 누수가 해결되었습니다. 또한 알려진 이슈의 일부였던 다른 많은 것들과 알려지지 않은 것들을 밝혀 냈습니다.

일단 clang이 업데이트되면 이러한 종류의 문제도 해결해야합니다.

1

뭔가를하지 않으면 AppCode에 대한 시장이별로 없을 것입니다.은 Xcode보다 뛰어납니다. 따라서 Xcode가 제공하지 못하는 부분이 적어도 몇 가지있을 것입니다. 티. 아마도 이것은 이러한 경우 중 하나입니다.

한편, 설명 된 누수 유형은 Instruments를 사용하여 쉽게 발견 할 수 있어야하므로 Xcode에 포함 된 도구가 없기 때문에 그러한 종류의 문제를 찾는 데 도움이되는 것은 아닙니다.

+1

하하하 ... 나는 목록에서 오는 중 의견이 너무 길어서 코멘트에 열거 할 수 없다. :) AppCode의 두드러진 특징은 다음과 같습니다. 1. 버그가 적고 불이익이 적으며보고하고 진행 상황을 추적 할 수 있습니다. 2. 리펙토링 바위. – YvesLeBorg