간단 디버깅
브레이크 포인트 개념, LLDB 개념
LLDB 명령어를 통한 데이터 분석
브레이크 포인트란..?
파란색 화살표를 통해 버그가 의심되는 코드에서 코드 실행을 멈출 수 있는 도구
LLDB 개념의 이해
- 손쉽게 버그를 추적, 매번 빌드 후 테스트를 해보는 런타임 시간을 줄이기 위한 디버거
- "Low-Level Debugger"라는 뜻, LLVM의 디버거 컴포넌트를 개발하는 애플의 서브 프로젝트
- 로우레벨 컨트롤 가능한 모듈로 이뤄져 기계어에 가까운 영역까지 디버깅 가능 (C/C++/Objective-C/Swift 지원)
- Xcode의 기본 디버거로 내장
- Clang식 파서 및 LLVM 디스어셈블러와 같은 LLVM 프로젝트의 기본 라이브러리를 활용한 재사용 가능한 컴포넌트 집합으로 빌드
- 실제 프로그램이 어떻게 동작하는지 이해가 쉬워짐
- LLVM의 프론트엔드에 대응하는 디버거로 간결하고 명확한 에러메시지의 장점
- 문법적 오류와 논리적 오류 중 런타임 시 일어나는 논리적 오류를 잡는것이 목표
브레이크 포인트를 활용하여 값을 디버깅 해보기
LLDB 명령어를 통한 데이터 분석
STEP 1
STEP 2
좌측 하단 : 브레이크 포인트가 멈춘 시점에 선언되어 있는 "value"들을 확인
우측 하단 : LLDB 명령어를 입력 가능
po self.textLabel.text
STEP 4
다음 코드 이어서 실행
브레이크 포인트를 통해 디버깅 후 다음 브레이크 포인트가 설정된 곳까지 코드를 실행할 경우
디버깅 영역에서 주황색 박스로 되어 있는 부분인, "Continue program execution" 혹은 Step over를 통해 진행가능
그 외 명령어들
// 값 수정 가능
expression self.textLabel.text = "LLDB 명령어에서 수정도 가능합니다"
// 값 선언 가능 ($를 꼭 붙여주세요)
expr let $somNumber = 10
위 명령어들을 통해 해당 브레이크 포인트가 작동하여 멈춘 시점에서 값을 수정 or 값을 선언해보면서 테스팅 가능
'IOS > Swift-Study' 카테고리의 다른 글
[Swift-Study] 베이직반 2회차 - 1회차 복습, Closure 활용 VC 간 통신 (0) | 2024.04.11 |
---|---|
[Swift-Study] Swift 베이직반 1회차 - Xcode, 함수와 클로저, 변수와 상수 (0) | 2024.04.11 |
[Swift-Study] IOS 앱 개발 입문 1주차 - 로직다루기 (0) | 2024.04.02 |
[Swift-Study] IOS 앱 개발 입문 1주차 - LifeCycle (0) | 2024.04.02 |
[Swift-Study] IOS 앱 개발 입문 1주차 - AutoLayout (0) | 2024.04.01 |