Xcode: 디버그 콘솔 커맨드 정리

발생일: 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

저작자 표시 비영리 변경 금지
신고

카테고리

분류 전체보기 (682)
About me. (6)
Daylogs (647)
비공개 (0)
영어공부 (0)
My works - 추억 (29)