---
# System prepended metadata

title: "LLDB - Whales\U0001F40B, Zion\U0001F48E"
tags: [LLDB, 활동학습]

---

# LLDB - Whales🐋, Zion💎

###### tags: `활동학습`, `LLDB`

1. ViewController.swift 파일의 23번째 줄에 브레이크 포인트를 설정하려면 입력해야 하는 LLDB 명령어는?
- b ViewController.swift:23

2. changeTextColor라는 심볼에 브레이크 포인트를 설정하기 위해 입력해야 하는 LLDB 명령어는?
- b changeTextColor

3. LLDB의 특정 명령어의 별칭을 설정해줄 수 있는 명령어는 무엇일까요?
- command alias

4. Breakpoint Navigator를 통해 titleLabel의 text가 "두 번째 뷰 컨트롤러!"인 경우에만 작동을 일시정지하고 titleLabel의 text를 출력하는 액션을 실행하도록 설정해보세요
- br s -f ViewController.swift -l 19 -c `titleLabel.text == "두 번째 뷰 컨트롤러!"` -C "po testLabel.text"

5. 오류(Error) 혹은 익셉션(Exception)이 발생한 경우 프로세스의 동작을 멈추도록 하는 방법에 대해 알아봅시다
![https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/63e1b1cb324ce85b6f356cf1/20230605/647d7e25324ce85b6f35c768.png](https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/63e1b1cb324ce85b6f356cf1/20230605/647d7e25324ce85b6f35c768.png)

6. View Controller의 뷰 위에는 사용자 눈에 보이지 않는 뷰가 있습니다. 이 뷰의 오토레이아웃 제약을 확인해서 알려주세요
![https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/63e1b1cb324ce85b6f356cf1/20230605/647d7ed9324ce85b6f35c76a.png](https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/63e1b1cb324ce85b6f356cf1/20230605/647d7ed9324ce85b6f35c76a.png)

7. 디버그 모드로 실행중인 상태에서 사용자 눈에 보이지 않는 뷰의 색상을 분홍색으로 변경해보세요
![https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/63e1b1cb324ce85b6f356cf1/20230605/647d80ab324ce85b6f35c76e.png](https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/63e1b1cb324ce85b6f356cf1/20230605/647d80ab324ce85b6f35c76e.png)

8. LLDB의 `v`, `po`, `p` 명령어의 차이에 대해 알아봅시다
- `v`
    - 'frame variable'의 약어
    - 'Var->child.x'와 같은 변수를 지정할 수 있다.
    - 변수 'expr local_var'와 'frame var local_var'는 동일한 결과를 생성합니다.
    - '프레임 변수'는 디버그 정보를 사용하기 때문에 더 효율적이다.
    - 메모리는 표현을 구문 분석하고 평가하는 대신 직접 읽는다.
- `p`
    - expression --'의 약어
- `po`
    - 객체에 대한 다양한 정보를 Console에 출력하여 확인 할 수 있다.
    - po는 (lldb) expression -O -- 의 Shorthand. 여기서 -O option은 object의 description을 출력하겠다는 뜻
    - po가 출력하는 description은 NSObject의 debugDescription입니다.

9. 두 번째 뷰 컨트롤러의 뷰가 화면에 표시된 상태에서, 두 번째 뷰 컨트롤러 까지의 메모리 그래프를 캡쳐해보세요
![https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/63e1b1cb324ce85b6f356cf1/20230605/647d8111324ce85b6f35c770.png](https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/63e1b1cb324ce85b6f356cf1/20230605/647d8111324ce85b6f35c770.png)