Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Discover breakpoint improvements まとめ
Search
jollyjoester
June 28, 2021
Technology
4
1.6k
Discover breakpoint improvements まとめ
YUMEMI.swift #12 feat. HAKATA.swift 〜WWDC Recap~
https://yumemi.connpass.com/event/216722/
jollyjoester
June 28, 2021
Tweet
Share
More Decks by jollyjoester
See All by jollyjoester
コミュニティMTG in WWDC24
jollyjoester
0
210
BengaluruでLTしてきた
jollyjoester
0
260
try! Swift Tokyo 2024
jollyjoester
0
220
エンジニアが直接会う場の価値について
jollyjoester
8
4k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
280
My favorite sessions in WWDC 23
jollyjoester
0
570
みんなでAIと戯れよう
jollyjoester
0
97
続く勉強会の作り方
jollyjoester
2
800
Code for INZAIの歩み
jollyjoester
0
350
Other Decks in Technology
See All in Technology
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
180
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
13k
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
130
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
540
Lexical Analysis
shigashiyama
1
150
AIチャットボット開発への生成AI活用
ryomrt
0
170
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
強いチームと開発生産性
onk
PRO
35
11k
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
690
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Bash Introduction
62gerente
608
210k
How to Ace a Technical Interview
jacobian
276
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
YesSQL, Process and Tooling at Scale
rocio
169
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Visualization
eitanlees
145
15k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Faster Mobile Websites
deanohume
305
30k
Transcript
Discover breakpoint improvements まとめ 2021/06/28 YUMEMI.swift #12 feat. HAKATA.swift 〜WWDC
Recap~ jollyjoester
• このLTはWWDC21のDiscover breakpoint improvementsのセッション動画を見 てざっくりまとめたものです。 • 実際に動画を見た方がXcodeの操作などイメージつきやすいので、興味が湧いた らぜひセッション動画も見てみてください! このLTについて
3つのbreakpoints Breakpointsとは • 主にdebugのためにプログラムの実行を止めて状況を確認するためのもの このセッションで紹介されている3つのbreakpoint • Source file breakpoints •
Symbolic breakpoints • Runtime Issue breakpoints
Source file breakpoints • ファイルごとに設定するbreakpoint • もっともよく使うのがLine breakpoint • つまりこれ→
Source file breakpoints
• convertedToVolumeにStep inしたいのだけど先にadjustedDensityに入ってしまう 😭 👉それ Xcode 13からはColumn breakpointで解決できるよ! Line breakpointの辛いところ
refs. 動画1:41あたり https://developer.apple.com/videos/play/wwdc2021/10209/
Column breakpoints refs. 動画2:26〜 https://developer.apple.com/videos/play/wwdc2021/10209/ • Command + クリックで設定できる •
enable/disableも当然できる • ダブルクリックでbreakpoint editor開ける • Control + クリックで↑の操作できるよ 便利〜🎉
• SwiftのClosure / Objective-CのBlockのdebugでもLine breakpointはめんどいけ ど • Column breakpointなら便利🎉 Column
breakpoints refs. 動画4:28〜 https://developer.apple.com/videos/play/wwdc2021/10209/
Symbolic breakpoints Symbolic breakpoints • 関数名でbreakpointを設定する方法 どんなときに使う? • ソースファイルにアクセスできないとき •
共通の関数を実装するサブクラスがめっちゃたく さんあって全部にbreakpoint貼りたいとき
Moduleを指定するといいよ • ロードされるライブラリとか全部が対象になるから汎用的な単語だったりする場合 はModuleを指定するといいよ。 Symbolic breakpointsのTips refs. 動画7:10〜 https://developer.apple.com/videos/play/wwdc2021/10209/
Xcode 13からどこにも解決されていないbreakpointを破線のアイコンで表示するように なったよ Unresolved breakpoints refs. 動画8:16〜 https://developer.apple.com/videos/play/wwdc2021/10209/
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指定
ケース:BackgroundのスレッドでUIの状態を変えたりする 👉クラッシュほど深刻じゃないのでデフォルトでは一時停止はせ ず、バックトレースをIssue Navigatorに表示するよ これを一時停止したい場合はスキーム Editorのdiagnosisタブで対 応する機能を有効にする必要がある 👉先の例だとMain thread checkerを有効にする必要がある。これ
は→ボタンで移動できるよ Runtime Issue breakpoints refs. 動画11:03〜 https://developer.apple.com/videos/play/wwdc2021/10209/
まとめ • breakpointのちょっとした改善とTipsについての動画でした。 • breakpointsちゃんとのは大事なことなので便利になってありがたいですね • 操作のイメージなど動画を見るとさらにイメージが付きやすいと思うのでぜひ見て みてください おまけ •
Xcode, Xcode Cloudなど開発者に優しい発表が多いWWDCでしたね! • Xcode CloudについてはSwift愛好会で発表したので見てみてください ◦ https://www.youtube.com/watch?v=OVXr4Rb7zsU&t=3160s
Refs. WWDC21セッション動画 • Discover breakpoint improvements