---
# System prepended metadata

title: Untitled

---

1. ViewController.swift 파일의 23번째 줄에 브레이크 포인트를 설정하려면 입력해야 하는 LLDB 명령어는?
- breakpoint set --file ViewController.swift --line 23
- br s -f Viewcontroller.swift -l 23



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

3. LLDB의 특정 명령어의 별칭을 설정해줄 수 있는 명령어는 무엇일까요?
- command alias [별칭] [명령어 [%1 %2]]
- 별칭 [%1 %2]로 사용


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

5. 오류(Error) 혹은 익셉션(Exception)이 발생한 경우 프로세스의 동작을 멈추도록 하는 방법에 대해 알아봅시다


6. View Controller의 뷰 위에는 사용자 눈에 보이지 않는 뷰가 있습니다. 이 뷰의 오토레이아웃 제약을 확인해서 알려주세요

![](https://i.imgur.com/YXJlsG7.png)

7. 디버그 모드로 실행중인 상태에서 사용자 눈에 보이지 않는 뷰의 색상을 분홍색으로 변겅해보세요
`expression -l swift -- import UIKit`
`expression -l swift -- let $myView = unsafeBitCast(0x14150b560, to: UIView.self)`
`expression -l swift -- $myView.backgroundColor = UIColor.systemPink`

8. LLDB의 v, po, p 명령어의 차이에 대해 알아봅시다

- v: 현재 프레임에서 매개변수와 지역변수를 현재 보여줍니다.

- po: 객체의 정보를 확인 할 수 있습니다. 객체의 debugDescription이 출력됩니다.  `expression -O --`의 함축적 표현입니다. 
    - Object-C 코드는 `expression -l objc -o --`를 사용해서 정보를 확인 할 수 있습니다.

- p: `expression`의 함축적 표현입니다.


9. 두 번째 뷰 컨트롤러의 뷰가 화면에 표시된 상태에서, 두 번째 뷰 컨트롤러 까지의 메모리 그래프를 캡쳐해보세요!

![](https://i.imgur.com/iuHVc8s.png)
