공부/iOS

Xcode 아이폰 빌드한 뒤에 LLDB 라고 하면서 빌드 안되는 문제

안토니1 2022. 11. 28. 16:11

 

🤬킹받는 에러

"LLDB is likely reading from device memory to resolve symbols"? Is there anything I can do to reduce or avoid this wait?

아우 킹받아

기분 좋게 실기기에서 테스트 하려고 빌드했더니 이상하게 빌드시간이 길더라구요.

시뮬레이터에선 빠르게 되는데 아이폰에선 한참을 기다려도 빌드가 안되어서 찾아봤더니 방법이 있었습니다.


🤩해결책

1. 디바이스를 연결해제

2. Xcode를 완전 종료

3. 둘중 하나의 경로로 들어가서 iOS DeviceSupport 폴더 안의 라이브러리들을 다 삭제한다.

open ~/Library/Developer/Xcode	// Xcode 14 에서 동작
open ~/Libraries/Developer/Xcode	// macOS 13.0 에서 동작

이렇게 싹 비우시면 됩니다.

4. Xcode로 실행

5. 아이폰 꼽고 빌드하면 새롭게 라이브러리가 깔리게 되며 빌드가 잘 됩니다.


🤨그래서 얘가 뭔데?

디버그 세션이 실행되면 breakpoint에 도달하거나 일시 중지를 하고나서 image list 를 수행하게 됩니다. 이 리스트에서는 프로세스의 모든 binary, dylib, framwork 가 있으며 총 500개 정도로 추정됩니다.

 

파일 이름 뒤에 16진수 주소가 표시되면 LLDB 는 장치 시작 시 모든 메모리에서 모든 라이브러리를 읽어야 했습니다. 하지만 Xcode는 Mac에 있는 모든 디바이스 라이브러리의 복사본은 로컬에 expand 하기에 LLDB는 메모리에서 읽지 않아도 됩니다.

 

아마도 이 부분을 읽는 과정에서 문제가 생겼던 것 같습니다.

싹다 지우고나서 Xcode를 다시 시작하고 iOS 장치를 연결하게되면 라이브러리가 다시 expand 됩니다.


⭐️도움 받은 링크

https://stackoverflow.com/questions/69366799/xcode-13-ios15-is-taking-longer-than-expected-to-launch-it-shows-a-lldb-related