프로그래밍/IOS (Swift)

[Swift] EXC_BAD_ACCESS 에러 해결

훙리 2021. 3. 18. 16:12

최근 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를 참조하는 부분에서 중복이 있었습니다

여러분도 한번 찾아보시길바랍니다.