Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Discover breakpoint improvements まとめ

Discover breakpoint improvements まとめ

YUMEMI.swift #12 feat. HAKATA.swift 〜WWDC Recap~
https://yumemi.connpass.com/event/216722/

7d709dd44f86dc8f2b7ddb4c48145dfc?s=128

jollyjoester

June 28, 2021
Tweet

Transcript

  1. Discover breakpoint improvements まとめ 2021/06/28 YUMEMI.swift #12 feat. HAKATA.swift 〜WWDC

    Recap~ jollyjoester
  2. • このLTはWWDC21のDiscover breakpoint improvementsのセッション動画を見 てざっくりまとめたものです。 • 実際に動画を見た方がXcodeの操作などイメージつきやすいので、興味が湧いた らぜひセッション動画も見てみてください! このLTについて

  3. 3つのbreakpoints Breakpointsとは • 主にdebugのためにプログラムの実行を止めて状況を確認するためのもの このセッションで紹介されている3つのbreakpoint • Source file breakpoints •

    Symbolic breakpoints • Runtime Issue breakpoints
  4. Source file breakpoints • ファイルごとに設定するbreakpoint • もっともよく使うのがLine breakpoint • つまりこれ→

    Source file breakpoints
  5. • convertedToVolumeにStep inしたいのだけど先にadjustedDensityに入ってしまう 😭 👉それ Xcode 13からはColumn breakpointで解決できるよ! Line breakpointの辛いところ

    refs. 動画1:41あたり https://developer.apple.com/videos/play/wwdc2021/10209/
  6. Column breakpoints refs. 動画2:26〜 https://developer.apple.com/videos/play/wwdc2021/10209/ • Command + クリックで設定できる •

    enable/disableも当然できる • ダブルクリックでbreakpoint editor開ける • Control + クリックで↑の操作できるよ 便利〜🎉
  7. • SwiftのClosure / Objective-CのBlockのdebugでもLine breakpointはめんどいけ ど • Column breakpointなら便利🎉 Column

    breakpoints refs. 動画4:28〜 https://developer.apple.com/videos/play/wwdc2021/10209/
  8. Symbolic breakpoints Symbolic breakpoints • 関数名でbreakpointを設定する方法 どんなときに使う? • ソースファイルにアクセスできないとき •

    共通の関数を実装するサブクラスがめっちゃたく さんあって全部にbreakpoint貼りたいとき
  9. Moduleを指定するといいよ • ロードされるライブラリとか全部が対象になるから汎用的な単語だったりする場合 はModuleを指定するといいよ。 Symbolic breakpointsのTips refs. 動画7:10〜 https://developer.apple.com/videos/play/wwdc2021/10209/

  10. Xcode 13からどこにも解決されていないbreakpointを破線のアイコンで表示するように なったよ Unresolved breakpoints refs. 動画8:16〜 https://developer.apple.com/videos/play/wwdc2021/10209/

  11. Unresolved breakpointsの原因はtypoが多い。 • Find Navigatorから探す • LLDBで探す Unresolved breakpointsのTips refs.

    動画9:20〜 https://developer.apple.com/videos/play/wwdc2021/10209/ image lookup: Moduleを探す -r: 正規表現 -n: 名前 convert: 探す対象の文字列 Fruta: Module指定
  12. ケース:BackgroundのスレッドでUIの状態を変えたりする 👉クラッシュほど深刻じゃないのでデフォルトでは一時停止はせ ず、バックトレースをIssue Navigatorに表示するよ これを一時停止したい場合はスキーム Editorのdiagnosisタブで対 応する機能を有効にする必要がある 👉先の例だとMain thread checkerを有効にする必要がある。これ

    は→ボタンで移動できるよ Runtime Issue breakpoints refs. 動画11:03〜 https://developer.apple.com/videos/play/wwdc2021/10209/
  13. まとめ • breakpointのちょっとした改善とTipsについての動画でした。 • breakpointsちゃんとのは大事なことなので便利になってありがたいですね • 操作のイメージなど動画を見るとさらにイメージが付きやすいと思うのでぜひ見て みてください おまけ •

    Xcode, Xcode Cloudなど開発者に優しい発表が多いWWDCでしたね! • Xcode CloudについてはSwift愛好会で発表したので見てみてください ◦ https://www.youtube.com/watch?v=OVXr4Rb7zsU&t=3160s
  14. Refs. WWDC21セッション動画 • Discover breakpoint improvements