J
[iOS] Debuggging, LLDB 본문
LLDB란?
LLDB(Low-Level Debugger)는 LLVM 프로젝트의 일부로 개발된 디버거입니다.
Xcode는 버전 5부터 기존의 GDB(GNU Debugger)를 대신하여 LLDB를 기본 디버거로 사용하고 있습니다.
LLDB 시작하기
앱을 실행하고 Breakpoint에 걸리거나 pause 시키면 콘솔에 (lldb)가 나타납니다.

LLDB 기본 명령어 문법
LLDB는 터미널 기반 인터페이스에서 명령어를 입력해 디버깅을 수행합니다.
(lldb) command [subcommand] -option "this is argument"
LLDB 자주 사용하는 명령어
명령어 | 설명 |
breakpoint set -n 함수명 | 특정 함수에 브레이크포인트를 설정 |
breakpoint set -f 파일명 -l 라인번호 | 특정 파일의 라인에 브레이크포인트 설정 |
run 또는 r | 프로그램 실행 |
process continue 또는 c | 중단된 실행을 계속 |
next 또는 n | 다음 줄로 이동(현재 함수 내부 실행) |
step 또는 s | 함수 안으로 진입 |
finish | 현재 함수의 실행을 마치고 호출한 위치로 돌아감 |
frame variable 또는 fr v | 현재 프레임의 변수 출력 |
expression 또는 e | 특정 코드를 즉시 실행 (ex: e someArray.count) |
thread backtrace 또는 bt | 호출 스택(Backtrace) 출력 |
실전 예제: LLDB로 배열 값 확인하기

po는 "print object"의 줄임말로, Swift나 Objective-C 객체를 출력할 때 사용합니다.
디버깅 팁: Expression 활용하기
LLDB의 expression 명령어를 사용하면 코드 실행 중에 값을 변경하거나 직접 함수 호출도 가능합니다.
예를 들어, 디버깅 중에 배열의 값을 임의로 바꾸고 싶다면...
expression numbers[2] = 100
함수 호출을 하고 싶다면...
expression self.updateUI()
이를 활용하면 코드를 재실행하지 않고도 앱의 상태를 실시간으로 조작해 테스트할 수 있습니다.
참고:
https://ios-development.tistory.com/1254
[iOS - swift] LLDB (Low Level Debugger) 디버깅 방법
LLDB란? LLVM라는 컴파일 프로젝트 안에 LLDB라는 기능이 있는데, Xcode에도 LLDB가 내장 Objective-C, Swift를 지원 LLDB 커멘드 command와 subcommand는 LLDB 디버거의 객체를 의미 LLDB 동작은 Xcode에서 브레이크 포
ios-development.tistory.com
https://diosmio.tistory.com/121
LLDB (Low-Level Debugger) 사용법
출처 : https://yagom.net/ 무료강의이므로 편하게 글 올린다 강의가 궁금하다면 & 이 글이 도움됐다면 사이트 들어가서 야곰에게 커피 선물을 LLDB란? LLVM 프로젝트의 컴포넌트 중 디버깅과 관련된 LLVM
diosmio.tistory.com
'iOS' 카테고리의 다른 글
[iOS] Debugging, Breakpoint (0) | 2024.08.26 |
---|---|
[iOS] App's life cycle (0) | 2024.08.20 |
[iOS] App SandBox (0) | 2024.08.20 |