WWDC 스터디 중 궁금한 부분이이 생겨서 부분적으로 정리함!
26분 30초부터~
[유효하지 않는 주소공간 접근] 으로 크래시가 발생했고 아래 정보가 주어졌다.
7fdd5e400000
~ 7fdd5e800000
만큼 할당했음!주소 7fdd5e70700
에 접근했음!
MALLOC_TINY 에 할당된 주소 범위와 유사하다 (앞자리가)
하지만 4bit 만큼 shift 되어있는 주소이므로 아예 다른 주소다.
이 세션에서는 shifted 를 rotated 라는 단어로 표현했다.
→ 아예 다른 주소이지만 [MALLOC_TINY 에서 **할당한 주소범위와 유사하다는 점]**이 문제의 힌트가 된다!!!!
isa
라는 필드로 시작하고, isa
필드는 오브젝트의 클래스를 가리킨다.몇몇 스위프트 오브젝트들 → Obj-C 런타임에 의해 할당되는 오브젝트들 (아마 클래스)
dealloc
메시지를 받게 된다.