2011-06-13 4 views
0

ipad 앱에 레벨 1 메모리 경고가 표시되므로 Xcode 4에서 메모리 누수 프로파일 러를 실행했습니다. 특정 슬라이더 하나를 움직이면 누수가 발생합니다. 다시 이동하고 다른 누출이 누출 된 바이트가 확대됩니다.Xcode 4 Profiler에서 누출 찾기

Xcode 4가 어떤 개체가 유출되었는지를 쉽게 찾을 수 있는지 궁금합니다. 나는 슬라이더의 움직임에서이 방법을 살펴 보았다. 내가 alloc/init을 사용할 때마다, 나는 그것을 풀어 놓는다. Xcode가 어디에서 누설을 찾았는지 알기 때문에 직접 찾을 수 없습니다.

Xcode 4 설명서는 많은 도구를 참조합니다. 그러나이 도구가 Xcode 3에서 업데이트되지 않았는지 궁금합니다. 그 도구는 문서에 언급 된 메뉴에 없기 때문입니다.

슬라이더 동작은 다음 자체

-(IBAction) sensitivity:(UISlider *)slider{ 

self.grid.sensitivity=slider.value; 
[self.grid setNeedsDisplay]; 
} 

이 메모리 누설을 제시하지 않는다. 그러나 "setNeedsDisplay"메서드는 처음에는 실행될 때 누수가 발생하지 않으므로 두 번째 누수가 발생합니다. 해당 코드의 모든 inits/alloc이 해제됩니다 (생성되고 릴리스 된 객체는 3 개뿐입니다).

+1

이 경우에는 슬라이더에있는 무엇인가 또는 슬라이더가 제어하고있는 것이 무엇인지 분명히 밝혀야합니다. 인스트루먼트에 관한 한 해당 코드를 연결하면 다른 도움을받을 수 있습니다. . –

+0

질문에 코드를 추가했습니다. – johnbakers

답변

1

메뉴에서 빌드/빌드 및 분석을 실행하는 것이 유용하다는 것을 알았습니다. 모든 것을 포착하지는 않지만 몇 가지 잘못된 경고를 표시하지만 자동 유출 감지를 시작하기에 좋은 곳입니다.

+0

Xcode 4의 제품 메뉴에는 간단한 "분석"옵션이 있습니다. 이게 너가 의미하는거야? 나는 그것을 실행할 때 많이 발생하지 않습니다. 실제로 내 장치에서 내 앱을 실행하지 않으며 Xcode 내의 아무 곳에서나 분석을 찾지 못하거나 아무 것도 분석하지 않았다고 제안합니다. – johnbakers

+0

@ansdrewjs : 확실하지 않습니다.이 컴퓨터에는 Xcode 3.2.5 만 있습니다. 내 메뉴에서는 Build/아래에 있으며 "빌드 및 분석"(단축키 shift-command-A) 옵션이 있습니다. 실행하려면 장치가 연결되어 있어야합니다. – PengOne

+0

어디에서 분석 결과를 볼 수 있습니까? 나는 Analyze로 보이는 것을 실행하고 프로그램은 아무 것도하지 않는 것처럼 보입니다. – johnbakers