→ Xcode
[Xcode] Thread Sanitizer
Swift librarian
2024. 1. 11. 13:06
Xcode 에는 놀랍게도 Thread 의 경쟁 상황을 체크할 수 있는 툴이 있다. 바로 Thread Sanitizer 라는 것인데... 사용방법은 간단하다. 해당 프로젝트에서 Product 메뉴로 들어가면 아래에 Scheme → Edit Scheme 에 들어간다. 혹은 Xcode 중앙 상단에 Edit Scheme 바로 갈수 있는 경로가 있다.
Run → Diagnostics 에 가서 Thread Sanitizer 를 선택해 주고 빌드한다. 빌드시간이 오래 걸리니 체크하고 빌드한 후에 다시 체크 해제해주는 것이 좋다. 여기서 실기기 말고 시뮬레이터를 선택해줘야 Thread Sanitizer 를 체크할수 있는 듯 하다.
시뮬레이터에 빌드를 하게 되면 아래와 같이 해당 코드에 Data race 보라색 오류가 뜨게 된다. 이렇게 되면 경쟁 상태에 있는 코드이므로 해결해주면 된다!