디버깅할 때 유용한 LLDB 명령어와 사용 팁을 정리했습니다.
| 명령어 | 설명 | 예시 |
|---|---|---|
| p | 변수 값을 LLDB 내부 표현으로 출력 | p someInt |
| po | NSObject 기반 객체를 사람이 읽기 좋은 형태로 출력 / 런타임에 변수나 상태를 직접 수정 | po someView |
| v | 현재 함수의 지역 변수들을 모두 출력 (frame variable) | v or v someVar |
| bt | 백트레이스 출력 (함수 호출 스택 확인) | bt |
| e | 런타임에 변수나 상태를 직접 수정 | e someLabel.text = "디버깅 중" |
| b | 브레이크포인트 지정 (파일:줄 / 메서드명 가능) | b MyClass.swift:42, b viewDidLoad |
| help | 명령어 설명 보기 | help po |
| 명령어 | 용도 | 출력 형태 |
|---|---|---|
| p | 숫자, 구조체 값 등 내부 표현 확인 | (Int) $R0 = 42 |
| po | 객체 내용 시각적으로 확인 (description 기반) | UIDeviceRGBColorSpace 1 0 0 1 등 |
일반적으로
UIView,UIColor,NSString같은 객체는po
Int,Bool,CGRect,enum,struct등은p사용

Watchpoint는 특정 변수값이 변경될 때 breakpoint를 만들지 않아도 break가 걸리도록 해줍니다.

v로 지역 변수 한눈에 보기
v
뷰 구조나 텍스트 출력 확인할 땐 po
po someView
현재 함수의 호출 흐름 파악은 bt
bt
실행 중 값 변경하고 싶다면 expression
e someButton.isHidden = true
값이 언제 바뀌는지 추적하고 싶을 땐 Watchpoint
명령어 모를 때는 항상 help
help b