Xcode도 어느덧 2주일 가량 함께하니 익숙해지기 시작한다...

오히려 요새 Android Studio가 Gemini를 탑재하면서 IDE자체가 무겁고 메모리를 많이 잡아먹게 되어 Hot-reload 또는 Plugin갱신이 잘 안되는 듯 하다...

 

무튼, Xcode에서 디버깅(debugging)을 하는 방법을 나열하려 한다.

 

디버깅모드라고 따로 Execute하는 것이 아닌 현재 디버그 모드 돌릴 것인지 아닌지 플래그 형태이다.

Debug - Deactivate Breakpoints.

단축키 : Cmd + Y

중단점 모두 해제 (Disable All Breakpoints): Cmd + Shift + Y

 

지정한 Breakpoint들에서 걸리게 할 것인지 여부를 설정한다.

 

Breakpoint를 설정

단축키 : Cmd + \

좌측에 파란 북마크가 보이게 된다. (Activate상태)

 

만약에 디버깅 모드가 아닌 Deactivate상태이면 다음과 같이 Breakpoint색상이 회색빛으로 변한다.

 

 

프로그램을 실행하면 해당 포인트에서 멈추는 것을 볼 수 있다. 

 

우측 하단을 보면 (lldb)로 초록빛이 보인다. (lldb는 디버그를 도와주는 도구이다 : Low-Level-Debugger)

해당 lldb 우측에 값을 입력할 수 있는데,

여기서 현재 알고 싶은 값을 확인할 수 있다.

 

 

만약에 'animated'파라메터값이 알고 싶은 경우

앞에 'p'를 입력하고 값이 궁금한 변수를 입력한다.

 

  • po [변수명] : 변수나 객체의 값을 출력 (po는 print object).
  • p [변수명] : 변수의 값을 출력 (p는 print).
  • expr [표현식] : 코드 내 특정 표현식의 값을 계산하고 결과를 출력.
  • v 또는 frame variable : 현재 스택 프레임에서 사용 가능한 모든 변수를 출력.

 

 

계속 머무를 수 없다. 다음 단계로 이동하는 방법

 

  • 다음 코드로 이동 (Step Over): F6
  • 함수 내부로 들어가기 (Step Into): F7
  • 함수 밖으로 나오기 (Step Out): F8

 

  • thread list : 현재 실행 중인 모든 스레드의 정보를 출력.
  • thread backtrace [번호] : 특정 스레드의 호출 스택을 출력.
  • thread step-in : 함수 내부로 한 단계 들어감 (Step Into).
  • thread step-over : 함수 호출을 지나서 한 단계 진행 (Step Over).
  • thread step-out : 현재 함수에서 빠져나옴 (Step Out).

 

 

 

+ Recent posts