Skip to content

Latest commit

 

History

History
82 lines (56 loc) · 3.75 KB

220321LLDB.md

File metadata and controls

82 lines (56 loc) · 3.75 KB

TIL 220321LLDB

🔥학습 내용

  1. ViewController.swift 파일의 23번째 줄에 브레이크 포인트를 설정하려면 입력해야 하는 LLDB 명령어는?
  • (lldb) breakpoint set -file viewController.swift --line 23
  • (lldb) b 23
  1. changeTextColor라는 심볼에 브레이크 포인트를 설정하기 위해 입력해야 하는 LLDB 명령어는?
  • (lldb) breakpoint set --name changeTextColor
  • (lldb) b -n changeTextColor
  1. Breakpoint Navigator를 통해 titleLabel의 text가 "두 번째 뷰 컨트롤러!"인 경우에만 작동을 일시정지하고 titleLabel의 text를 출력하는 액션을 실행하도록 설정해보세요
  • 참고: Debugging Tips and Tricks

https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/6191d103143f8b5487805fb4/20220321/623824400983dd14920a3aea.png

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

참고: https://cocoacasts.com/debugging-applications-with-xcode-swift-error-and-exception-breakpoints

나중에 참고 보면서 테스트 해보기

https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/6191d103143f8b5487805fb4/20220321/623826100983dd14920a3af0.png

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

참고: Visual Debugging with Xcode

https://s3.ap-northeast-2.amazonaws.com/media.yagom-academy.kr/resources/usr/6191d103143f8b5487805fb4/20220321/623828040983dd14920a3af6.png

  1. 디버그 모드로 실행중인 상태에서 사용자 눈에 보이지 않는 뷰의 색상을 분홍색으로 변경해보세요
  • ((lldb) e self.view.subviews ([UIView]) $R0 = 3 values { [0] = 0x00007f9d6000b430 [1] = 0x00007f9d5e70b8e0 [2] = 0x00007f9d60207dd0 }

  • (lldb) e $R0[0].backgroundColor = UIColor.systemPink () $R1 = {}

  1. 두 번째 뷰 컨트롤러의 뷰가 화면에 표시된 상태에서, 두 번째 뷰 컨트롤러 까지의 메모리 그래프를 캡쳐해보세요
  • 하단 디버깅바에서 Debug Memory Graph
  1. LLDB의 특정 명령어의 별칭을 설정해줄 수 있는 명령어는 무엇일까요?
  • alias
  • command alias 별칭 "줄이고 싶은 명령어"
  1. LLDB의 v, po, p 명령어의 차이에 대해 알아봅시다
  • v : -- Show variables for the current stack frame. Defaults to all
  • po : -- Evaluate an expression on the current thread. Displays any
  • p : -- Evaluate an expression on the current thread. ​Displays any
(lldb) po titleLabel.text
▿ Optional<String>
  - some : "LLDB 세상에 오신 것을 환영합니다!"

(lldb) p titleLabel.text
(String?) $R1 = some {
  _guts = {
    _object = (_countAndFlagsBits = 21, _object = 0x5000600000f4ff70)
  }
}

v는 현재 frame에 argument와 local 변수 모두 출력