이번에는 검사 툴인 Instruments를 사용해 보겠습니다
Instruments에는 어플의 성능을 검사하기 위한 여러가지 기능이 있습니다
전 OpenGL ES기반 게임등을 개발하지 않기 때문에 (주로 유틸) 거의 메모리 누수 확인하는데만 사용합니다
Instruments를 직접 열고 원하는 테스트 항목을 추가해서 사용하는 방법도 있습니다만
여기서는 간단히 xCode에서 바로 여는 기능을 소개하겠습니다
먼저 테스트할 프로젝트를 엽니다
그리고 Run메뉴 -> Start with Performance Tool 에서 사용할 검사를 선택하면 Instruments가 자동으로 켜지며 테스트를 시작하게 됩니다
테스트 가능 항목도 시뮬레이터를 사용하냐 기기를 사용하냐에 따라 틀립니다
(시뮬레이터 사용시)
제가 사용하는 기능은 대체적으로 Leaks와 Activity Monitor를 사용합니다
먼저 Leaks를 보겠습니다
실행하게 되면 그래프가 리얼타임으로 그려지며 현재의 메모리 사용량과 메모리 누수경우를 알려줍니다
상단의 그래프가 메모리 사용량이며 그 아래가 누수입니다
한가지 주의 하실 점은 메모리 누수가 일어나면 바로 뜨는게 아닙니다
메모리 누수는 기본적으로 매 10초마다 검사를 하도록 인터벌이 정해져 있습니다 (수정가능)
그래서 테스트 요령으로 한 기능을 실행해보고 잠시 기다렸다 다음 테스트를 해보는것이 디버깅 할때 편합니다
(어디서 어떻게 했더니 누수가 나더라 식으로 추적가능)
누수 그래프를 클릭해보면 어디서 누수가 났는지 알려줍니다
Address부분에서 항목에 화살표를 클릭하면 대략 어디서 누수가 나온건지 추측할수 있습니다
Activity Monitor는 시스템의 상태를 볼수있습니다
개발 어플을 실행하면 나중에 켜지기 때문에 프로세스 아이디가 거의 마지막에 생깁니다
그래서 프로세스 아이디 정렬로 해보면 (역순) 작동중인 어플이 보일겁니다
현재 대략 5.52메가 메모리를 사용하고 있군요
아까 메모리 누수테스트에서 했던것과 동일한 방법으로 천천히 한기능 한기능 해봅니다
그러면 모니터에 한박자 늦은 감으로 메모리가 올라갔다 내려갔다하는것이 보일겁니다
다른 화면에 갔다가 (네비게이터컨트롤러의 경우) 돌아왔는데 메모리가 거의 그대로고 매번 갔다올때마다 계속 메모리가 증가한다면 메모리 누수입니다.
Leaks에서 못찾는 메모리 누수도 있을수 있습니다.
마지막으로 시뮬레이터에서 메모리 누수라고 뜨지만 실제로 기기에 올려보면 그렇지 않은 경우도 있습니다
(저 처럼 괜히 헤매지 마세요)
'설치법 및 팁' 카테고리의 다른 글
| 베타 테스팅 도중 튕길 경우 (0) | 2009/12/03 |
|---|---|
| 개발자 강좌 - Ad Hoc 배포 (1) | 2009/06/05 |
| 개발자 강좌 - Instruments (0) | 2009/06/04 |
| 개발자 강좌 - 기기 테스트 (0) | 2009/06/03 |
| 개발자 강좌 - 어플 아이디 등록 (0) | 2009/06/03 |
| 개발자 강좌 - 기기 등록 (0) | 2009/06/03 |

Prev

Rss Feed