티스토리 뷰
발생일: 2016.03.11
키워드: xcode, lldb, lldb command, gdb, gdb command, 디버그 콘솔 명령, 디버그 콘솔 커맨드, debug console command, debugging console, 디버깅 콘솔, 디버깅 단축키, 디버그 콘솔 단축키, debug console shortcut
문제:
Xcode의 디버그 콘솔을 키보드로 컨트롤하려고 한다.
해결책:
디버그 콘솔
Cmd + Shift + C: 콘솔로 포커스
Cmd + K: 콘솔 초기화
실행 관련 커맨드
s: step in
n: next, step over
fin: finish, Step out
c: continue, 다음 브레이크포인트로 진행
스택 프레임 이동
bt: print backtraces, 전체 스택 프레임 출력
bt 3: 특정 개수까지의 스택 프레임만 출력
up: 상위 스택 프레임으로
do: down, 하위 스택 프레임으로
f 0: f 1: 과 같이 특정 스택 프레임으로 이동할 수 있다
변수 확인
fr v: 프레임의 모든 로컬 변수 보기
fr v 변수명: 현재 스택 프레임의 로컬 변수 출력
ta v 변수명: 전역 변수 출력 (fr v 로도 출력되기는 함)
p: print, 프리미티브 타입 값 출력
po: print object, 객체의 description 메서드 호출 결과 출력
표현식
expr 명령으로 표현식으로 명령을 실행할 수 있음
실행한 값은 $[0-9]+ 패턴에 할당됨 (p, po 도 마찬가지)
expr [type] $[variable name] = [value]
예) expr 로 출력하기
(lldb) expr NSString *$foo = @"fooValue"
(lldb) po $foo
예) expr과 po의 차이
(lldb) expr arr
(__NSArrayM *) $2 = 0x00007fa450477460 @"100 objects"
(lldb) po $2 # po는 description 의 결과
(lldb) po $2[3]
주의:
lldb 에서는 macro 나 enum 은 출력되지 않는다.
해결 방법은 지난 포스트를 참고하면 된다.
참고:
Using the debugger console lldb in Xcode
LLDB Tutorial
GDB TO LLDB Command map
MDL LLDB Quick Start Guide
반응형
댓글
공지사항