Debugging
Debugging
- 2023.01 A Better Way To Test Reference Cycles in iOS create a
weak
reference to the object you want to test and make sure it isnil
in the test’stearDown
. - 2022.12 Securely debugging your app in production
- 2022.10 Add name for debugging A really useful trick when debugging is to subclass the thing you are interested in just to make it easier to search for inside the various debugging tools.
- 2019.08 Advanced lldb tricks for Swift - Injecting and changing code on the fly
- 2019.07 Reducing Memory Footprint and OOM Terminations in iOS
- 2019.07 iOS — Advanced Memory Debugging to the Masses explains pages, dirty&clean memory, as well as how the
VMMap
command-line tool works. - 2019.04 iOS Debugging Tips & Tricks Provides examples of watchpoints and symbolic breakpoints
- 2019.01 👍 Debugging iOS network traffic using mitmproxy (for apps that do not use certificate pinning)
- 2018.10 Xcode and LLDB Advanced Debugging Tutorial: Part 2 Watchpoints & Symbolic breakpoints briefly explained
- 2017.12 UIDebuggingInformationOverlay is a private UIWindow subclass created by Apple, presumably to help developers and designers debug Apple’s own iOS apps.
- 2017.09 Debugging Swift code with LLDB
- 2017.08 Useful Xcode breakpoint: When you dismiss a controller and you don’t hear the pop sound (or see the log), you probably have a retain cycle.
- 2017.06 DeallocationChecker Tool by Arek Holko
- 2017.06 Catching Leaky View Controllers Without Instruments
- 2017.03 System Level Breakpoints in Swift
- 2016.08 Easy Optimization Wins
- 2011.01 How debuggers work (three parts, not iOS specific)
Logging
- 2019.04 Migrating to Unified Logging: Console and Instruments
- 2018.09 Migrating to Unified Logging, Swift Edition
- XCGLogger allows you to log details to the console (and optionally a file, or other custom destinations), just like you would have with NSLog() or print(), but with additional information, such as the date, function name, filename and line number.
- NSLogger is a high performance logging utility which displays traces emitted by client applications running on macOS, iOS and Android. It replaces traditional console logging traces (NSLog(), Java Log).