내일배움캠프 22일차

임클·2025년 4월 1일

내일배움캠프

목록 보기
23/44
post-thumbnail

일정


TIL (Today I Learned): Xcode 디버깅 기능, 중단점, LLDB 명령어

1. Xcode에서 자주 사용하는 디버깅 기능

Xcode에서 디버깅할 때 자주 활용되는 기능들은 코드의 흐름을 추적하고 문제를 해결하는 데 필수적입니다. 아래는 주요 기능들입니다:

  • 중단점(Breakpoint): 코드의 특정 지점에서 실행을 멈추게 하여 변수 값이나 프로그램 상태를 점검할 수 있습니다.
  • 스텝 오버(Step Over): 현재 줄을 실행한 뒤 다음 줄로 이동하며, 함수 내부로 들어가지 않습니다.
  • 스텝 인(Step In): 함수나 메서드 호출 내부로 들어가 디버깅을 이어갑니다.
  • 스텝 아웃(Step Out): 현재 함수 실행을 완료하고 호출한 상위 레벨로 돌아갑니다.
  • 변수 뷰(Variable View): 디버깅 중 현재 스코프 내 변수와 값을 실시간으로 확인할 수 있는 창입니다.
  • 콘솔(Console): LLDB 명령어를 입력하거나 디버깅 로그를 확인할 수 있는 공간입니다.

2. 중단점(Breakpoint)의 종류와 활용 방법

중단점은 디버깅의 핵심 도구로, 다양한 유형이 있으며 상황에 따라 유용하게 활용됩니다:

  • 일반 중단점:
    • 설명: 특정 코드 라인에 설정해 실행을 멈춥니다.
    • 활용 방법: 함수의 시작점이나 조건문에서 변수 상태를 확인할 때 사용합니다. 예를 들어, if 문에서 조건이 어떻게 평가되는지 점검할 수 있습니다.
  • 조건부 중단점:
    • 설명: 특정 조건이 참일 때만 실행을 멈춥니다.
    • 활용 방법: 반복문에서 특정 변수 값(예: i == 100)이 되었을 때 멈추게 설정하여 효율적으로 디버깅합니다.
  • 예외 중단점:
    • 설명: 앱이 충돌하거나 예외가 발생했을 때 실행을 멈춥니다.
    • 활용 방법: 런타임 오류의 원인을 찾을 때 유용하며, 예를 들어 nil 참조나 배열 범위 초과 문제를 추적할 수 있습니다.
  • 심볼릭 중단점:
    • 설명: 특정 함수나 메서드가 호출될 때 멈추게 합니다.
    • 활용 방법: 외부 라이브러리나 프레임워크의 특정 메서드 호출 시점을 확인할 때 사용합니다.

3. LLDB 콘솔에서 유용한 명령어

LLDB는 Xcode의 디버깅 콘솔에서 사용할 수 있는 강력한 도구로, 아래 명령어들이 자주 사용됩니다:

  • po (print object):
    • 객체의 description을 출력합니다.
    • 예: po myObject → 객체의 내용을 보기 좋게 확인.
  • p (print):
    • 변수의 값을 출력합니다.
    • 예: p myVariable → 기본 데이터 타입 값을 확인.
  • expr:
    • 표현식을 실행하고 결과를 출력하거나 변수 값을 변경합니다.
    • 예: expr myVariable = 10 → 변수 값을 동적으로 수정.
  • bt (backtrace):
    • 현재 스레드의 호출 스택을 출력하여 실행 흐름을 추적합니다.
  • frame variable:
    • 현재 프레임의 모든 로컬 변수를 출력합니다.
  • continue:
    • 중단점에서 실행을 재개합니다.
  • thread step-over:
    • 스텝 오버를 콘솔에서 실행합니다.
  • thread step-in:
    • 스텝 인을 콘솔에서 실행합니다.

0개의 댓글