분명 JavaScript 에서 console.log 찍어서 확인해보는 것처럼 Xcode 에도 breakpoint 걸렸을 때 어떤 변수가 어떻게 설정 되어 있는지를 볼 수 있는 방법이 있을 것 같았다.
실제로 cmd + shift + y 를 눌러서 나오는 창에
이렇게 커서가 깜빡이는걸 보면 뭔가를 입력할 수 있을 것 같은데, 여러가지 입력해봐도 커맨드가 없다고 나오길래 일단 급한 일들은 print 찍어서 재빌드하고... 재실행해서 해결을 봤다.
그런데.... 방법이 없는게 아니었다.
print object
# breakpoint 걸린 상태에서 기존 변수를 프린트 하고 싶을 때 po 변수이름 p 변수이름
expression
# 새 변수를 생성해서 찍어보고 싶을 때 expr var $temp = 10 expr print($temp)
여기 있는 버튼들에 대해서도 명령어로 제어가 가능하다.
continue
// breakpoint 걸려있는 것을 계속 진행하고 싶을 때 continue c
step-over
# breakpoint 걸려있는 다음 줄을 실행 thread step-over next n
step-into
# 한 단계 안 (함수 안)으로 들어감 thread step-into step s
step-out
# 한 단계 바깥 (함수 밖) 으로 나감 thread step-out finish
breakpoint
# 함수 이름으로 걸기 breakpoint set --name 함수이름 br s -n 함수이름 br 함수이름
# 특정 파일 특정 줄 번호로 걸기 # 현재파일이면 --file 옵션을 없애면 됨. breakpoint set --file 파일이름 --line 라인수 br s -f 파일이름 -l 라인수 b 파일이름:라인수
# breakpoint 목록 breakpoint list br l
# breakpoint 지우기 breakpoint delete 1 br del 1
여러 글들을 찾아보다보니 이 외에도 WatchPoint 나 여러가지 명령어들이 있지만 위의 것부터 잘 활용하는게 우선인 것 같다.
출처
Xcode. Xcode 디버깅 팁 - https://cmindy.tistory.com/7
[Xcode][LLDB]Debugging With Xcode and LLDB - https://minsone.github.io/ios/mac/xcode-lldb-debugging-with-xcode-and-lldb
Xcode lldb 디버깅 테크닉 - https://www.letmecompile.com/xcode-lldb-디버깅-테크닉/