오늘은 새롭게 알게된 Xcode의 도구에 대해서 적어보려고 한다.
Xcode에서 제공하는 Instruments이다.
간단하게 메모리 누수가 일어나는 코드를 작성해 Instruments에서 어떻게 보이는지 확인해보자
그럼 우리는 아래와 같이 앱을 run한 후 product에서 Profile을 통해서 Instrument를 실행할 수 있다.
아래의 두 사진을 보게되면, 앱이 실행된 이후에 메모리의 누수 여부와 변동 사항이 있는지를 시간의 흐름에 따라 볼 수 있다. 어느 객체에서 누수가 일어나고 있는지 보여주고 동작이 이루어지고 누수가 일어난 포인트를 두번째 사진처럼 표시를 해줘 쉽게 확인 할 수 있다. 누수가 일어나고 변동이 있는지 계속해서 확인을 해서 알려준다.
메모리 누수뿐만 아니라 어떻게 싸이클이 되고 있는지 확인이 가능하고, 두번째 사진과 같이 어떻게 함수가 호출이 되어 call stack이 쌓여있는지도 확인할 수 있다.
이렇게 개발자가 개발하는 과정에서 찾기 어려운 부분을 Istruments라는 도구를 통해 메모리 누수가 발생하지 않은 완전한 앱을 만들 수 있게 도와준다.