안녕하세요! 피피아노입니다🎵
이번 포스팅에서는 iOS 개발에서 매우 중요한 도구인 LLDB(Low-Level Debugger)의 개념에 대해 간단하게 정리를 해보려고 합니다.
그럼 바로 시작하겠습니다!
LLDB가 뭘까?
LLDB는 Apple의 Xcode에 내장된 디버거로, 개발자들이 코드의 실행을 분석하고 문제를 해결하는 데 도움을 주는 도구입니다.
LLDB는 "Low Level Debugger"의 약자로, 애플에서 LLVM 이라는 프로젝트에서 서브 프로젝트로 진행되던 것이 LLDB인데 LLDB는 이전에 사용되던 GDB(GNU Debugger)를 대체하여 Apple 플랫폼에서 기본 디버거로 채택되었다고 합니다.
그냥 복잡하게 생각할 것 없이 Xcode에 내장되어 있는 디버깅 도구 정도로 이해하셔도 좋습니다!
LLDB의 특징
- 빠른 실행 속도
- 정확한 메모리 분석
- 다양한 프로그래밍 언어 지원 (C, C++, Objective-C, Swift 등)
- 확장 가능한 아키텍처
- 강력한 스크립팅 기능
LLDB의 기본 사용 방법
LLDB가 디버깅 도구라고 하니까 잘못된 곳을 알려주거나 고쳐주는 도구인가? 라고 생각하실 수도 있지만 저는 그렇게 생각하기 보단 "내가 궁금한 값들을 보는 방법" 이라고 생각하시는 게 더 와닿는 것 같습니다.
이게 무슨 말이냐면
예를 들어
내가 어떤 프로그램을 만들 때 "A라는 부분에서는 a라는 값이 들어가야 해!" 라고 생각하고 만들었다고 가정을 해보자면
정말로 내가 생각한(예측한)대로 그 A라는 부분에서 a라는 값이 들어가고 있는지 실제 확인하는 과정이라고 이해하시면 됩니다!
프로젝트에서 설명을 해드리자면
자 우선 저는 위에처럼 소스코드를 작성했습니다. 간단하게 소스 코드를 설명하자면 리스트로 나열되어 있는 숫자들 중 하나를 누르면 그 값이 SelectedNumber로 들어가게 되는 코드입니다.
저는 숫자 4를 눌렀는데 이 소스코드에서 정말로 SelectedNumber 안에 4라는 값이 들어갔는지 확인하기 위해 12번째 행에 breakpoint를 넣고 빌드를 한 후 4를 눌렀습니다.
그랬더니!
앱이 중단되면서 위에처럼 로그가 뜨게 되는데 자세히 살펴보니
4라는 값이 잘 들어간 것을 확인할 수 있습니다!
이런 식으로 LLDB를 통해 디버깅을 할 수 있고 더 다양한 명령어들을 통해서 더 다양한 디버깅을 할 수 있습니다.
내용이 길어지는 관계로 LLDB에 관한 것은 주기적으로 포스팅을 하도록 하고 오늘은 일단 여기까지 정리해보겠습니다.
감사합니다.
잘못된 내용이 있거나 더 좋은 내용 피드백은 언제나 환영합니다!
궁금하신 부분은 댓글로 질문 부탁드립니다!
'Apple > Xcode' 카테고리의 다른 글
[Xcode] Xcode 16 pod init 에러 이슈 해결법 (9) | 2024.10.11 |
---|---|
[Xcode] LLDB 명령어 살펴보기 (0) | 2024.08.05 |