Debug like a Pro v2
The majority of engineers either debug using print()/NSLog, or utilise debugger for po command and ordinary breakpoints. However, Xcode and its debug tools give way more power, starting from the LLDB command language and runtime breakpoints logging to Instruments for performance and CPU investigations. I will cover the best practices, talk about most recent changes from WWDC 2018 and show quite a few examples, where meaningless at a first sight error message can be expanded to a call to action using proper debug tools. By the end of the talk, everyone should learn how to debug like a pro.
What does this talk cover?
Xcode debugging beyond print() and po: the LLDB command language, breakpoints that log at runtime instead of stopping, and Instruments for CPU and performance investigations - with examples of turning a vague error message into something you can act on.
Which LLDB commands does it cover?
It builds up from expression and po to breakpoints that evaluate Swift mid-run, demonstrated on a JSON-digging po session that will look familiar.
What's the 'measure your debugging' part about?
What you can measure, you can manage: the talk includes trackmecode, a small open-source script that hooks Xcode's build, test, and run behaviours so you can see how much time the modify-compile-run loop costs you in a week.
Where can I watch the talk or get the slides?
The recording from Appdevcon 2019 is embedded at the top of this page, and the slide deck (PDF) is in the resources section.
When an app is slow or crashing in production, this is what I get hired to fix - Instruments traces included.
App Performance & CrashesSimilar Talks
Modern devices are way more powerful for users to notice a difference between bubble sort and merge sort. Or not? Should everyone know how to implement Ukkonen's algorithm if they develop a weather app? What's the "Big O" of your average app and how to determine it?
The second part of a thorough introduction into iOS Security, from various pentesting techniques, to possible flaws to use-cases and tools.
Debunked the "iOS is secure by default" myth in 90 minutes. Walked through real pentesting techniques, tools, and war stories from the security trenches.
What teaching iOS at a Russian university taught me about learning. Turns out developers and nomads have more in common than you'd think — we both carry only what we need.