How Not to Crash
Pádraig Kennedy: It’s good practice for programmers to figure out how to recreate crashes that they’re trying to fix. This can involve temporarily rewriting parts of the code to behave in an artificial...
View ArticleReveal 2
Sean Woodhouse: With this release we’re changing the way Reveal is versioned and licensed. We’re switching to a model where we release features as they are ready rather than holding them back for major...
View ArticleReversing Apple’s syslogd Bug
fG (via Hacker News): While Apple makes available the source code for many components used in OS X, most of the time there is a significant delay so we need to use binary diffing to find out the...
View ArticleSwift’s dump()
Shaps (via iOS Dev Weekly): ProTip: Why debug with print when you can dump? dump uses Mirror for introspection.
View ArticleSystem Level Breakpoints in Swift
Daniel Jalkut (tweet): So, as a rule, Swift programmers who want to be advanced debuggers on iOS or Mac platforms, also need to develop an ability for mapping Swift method names back to their...
View ArticleiOS Background Transfer
Agnes Vasarh (tweet): Memory consumption is not the only factor when iOS is judging your app. What also counts is the time your app spends executing in the background and the number of times it wants...
View ArticlemacOS 10.13.3
Apple (Hacker News): The macOS High Sierra 10.13.3 improves the security and stability of your Mac, and is recommended for all users. This update: Addresses an issue that could cause Messages...
View ArticleSwift’s Reflective Underpinnings
Joe Groff (via Helge Heß): People tend to think of static typing and Reflection as being diametrically opposed. But ultimately, I think we can come up with designs that marry the best aspects of both....
View ArticleDebugging NSNotificationCenter and NSRunLoop
Tim Ekl: The debugDescription property has been around for quite awhile. Formally first appearing as a @property on NSObject in iOS 5 and macOS 10.8, it came across into Swift as a member of the...
View ArticleSolving a Mysterious Heap Corruption Crash
Agnes Vasarhelyi (tweet, via Alexis Gallagher): I removed every third-party dependency, to exclude the possibility that the problem is not in our code. […] Move suspicious pieces to an empty project...
View ArticleSmart Debugging
Peter Steinberger (tweet): Debugging can be exciting, but often also very, very frustrating. In this talk, I’ll show you some lesser-known tools and techniques to find problems faster and make the...
View ArticleNSDoubleLocalizedStrings and Friends
The NSDoubleLocalizedStrings user default is a reasonably well-known and officially documented localization debugging aide. It repeats the text of each localized string, making it double-length so that...
View ArticleCharles Proxy for iOS
XK72 (tweet, Hacker News): We are excited to announce that Charles Proxy is now available on iOS!With the iOS version of Charles you can capture and inspect network requests and responses on your iOS...
View ArticleWWDC 2018 Links
General: Keynote (Hacker News) The Developer Migration (via CNET) Schedule Videos Beta Downloads (Xcode 10, Xcode 10 Release Notes) Videos Downloader and App Sample Code Downloader David Sinclair’s...
View ArticleInstalling and Debugging on Mojave
Howard Oakley: Many developers are reporting that they have been unsuccessful in getting the initial beta-release of macOS 10.14 Mojave to install on external drives. In many cases, they are connecting...
View ArticleThe Unified Log in macOS Mojave: Signposts and Instruments
Howard Oakley: Mojave is set to offer no respite or solution for the system administrator or advanced user. Console and the log command may have gained a few tweaks, but there are no signs of their...
View ArticleDebugging With C-Reduce
Mike Ash (Hacker News): Debugging a complex problem is tough, and it can be especially difficult when it’s not obvious which chunk of code is responsible. It’s common to attempt to produce a reduced...
View ArticleFinding What Code Triggered a Log Message
Daniel Jalkut: What this does is add a series of commands that will be run automatically by lldb whenever breakpoint 5 (the one I just set) is hit. This applies to any of the 634 locations that are...
View ArticleVisualizing Pointer Addresses as Emoji
Jason Pepas: I often print pointer addresses as emoji. Handy when debugging issues related to UITableViewCell reuse etc. It’s much easier to recognize 🎃 in a log than 0x00007fa2ec033200. Here’s his...
View ArticleCodeRunner 3
Nikolai Krill: The all-new documentation sidebar lets you browse the online docs for your programming language without ever leaving the app. […] The editor has been enhanced with lots of new features....
View Article