[swift] Xcode Instruments

Jeff·7일 전
2

오늘은 새롭게 알게된 Xcode의 도구에 대해서 적어보려고 한다.

Xcode에서 제공하는 Instruments이다.

  • 앱의 성능 분석 및 디버깅 도구로이며, 메모리 누수가 일어나는지에 대해서 분석할때 사용하면 좋다.
  • 메모리 누수를 확인하면서 Stack Trace도 함께 확인이 가능하다.

간단하게 메모리 누수가 일어나는 코드를 작성해 Instruments에서 어떻게 보이는지 확인해보자

  • 아래의 코드는 순환참조를 발생시켜 메모리 누수가 일어나게 작성하였다.

그럼 우리는 아래와 같이 앱을 run한 후 product에서 Profile을 통해서 Instrument를 실행할 수 있다.

아래의 두 사진을 보게되면, 앱이 실행된 이후에 메모리의 누수 여부와 변동 사항이 있는지를 시간의 흐름에 따라 볼 수 있다. 어느 객체에서 누수가 일어나고 있는지 보여주고 동작이 이루어지고 누수가 일어난 포인트를 두번째 사진처럼 표시를 해줘 쉽게 확인 할 수 있다. 누수가 일어나고 변동이 있는지 계속해서 확인을 해서 알려준다.

메모리 누수뿐만 아니라 어떻게 싸이클이 되고 있는지 확인이 가능하고, 두번째 사진과 같이 어떻게 함수가 호출이 되어 call stack이 쌓여있는지도 확인할 수 있다.

이렇게 개발자가 개발하는 과정에서 찾기 어려운 부분을 Istruments라는 도구를 통해 메모리 누수가 발생하지 않은 완전한 앱을 만들 수 있게 도와준다.

profile
기본에 충실한 개발자가 목표!

0개의 댓글