최근 IOS 개발을 Swift로 배우며 여러가지 학습을 하던 중 독특한 크래쉬를 발견했습니다.
에러 로그가 안떠서 뭐지 ? 했는데 일단 해당 에러는
EXC_BAD_ACCESS (code : 1 , address : ~~~) 라고만 쓰여있고 다른건 안 써있더라구요. Thread 1이라니 메인스레드인건 알겠는데 과연 어디가 정확히 문제일까요?
Thread 1: EXC_BAD_ACCESS
열심히 구글링한결과 일단 이 에러를 찾기 위해서는
1. XCode 상단 Product 메뉴 -> [Scheme] -> [Edit Scheme] 탭을 클릭합니다.
2. Run ->[Diagnostics] 탭에서 -> [Enable Zombie Objects] 체크박스를 체크하고 닫습니다.
그러고나서 다시 디버그를 하면 NSZombie 라며 문제가 있는곳이 나오는데 EXC_BAD_ACCESS가 어디서 나왔는지 알 수 있습니다.
?? 과 ?? 에서 중복으로 사용했다고 나오는데요
** 여기서 NSZombiEnable 옵션은 메모리 디버깅을 도와주는 장치 입니다.
대부분 메모리 문제라고 하는데
저는 ViewController를 참조하는 부분에서 중복이 있었습니다
여러분도 한번 찾아보시길바랍니다.
자 여기까지는 구글일에서 찾은거 리뷰 ~
나는 같은 오류였지만... 해결이 안되서 파일 내용을 복사하고 삭제하고
다시 새로운 파일에 붙쳐넣기 하니... 오류는 사라졌다. 정말 알수 없는 미지의 오류세계... 난 아직 멀었다.