Compiler Writers Gone Wild: ARC Madness
Marcel Weiher: When they turned to me, I was also initially puzzled, because all this should do on x86 is stuff a zero into %eax and return. This cannot possibly crash, so everyone just assumed that...
View ArticleSwift and Debuggability
Russell Ivanovic: Currently in Swift, those stack traces are even worse. I won’t post one until they actually release it to be fair to Apple…but why oh why when they were making a ‘modern’ programming...
View ArticleTracking Down a WebKit Crasher
Daniel Jalkut: I love it when customers take the time to write something about the circumstances surrounding a crash. Often even a little clue can be enough to lead to the unique series of steps that...
View ArticleNSAtom, the True Object
Brian Webster: In our case, if our method is returning a YES value, that will end up with a full value of 0x0000000000000001. If you try interpreting this value as an object, the runtime will think it...
View ArticleView Bridge Logging
Daniel Jalkut: This could be handy if you’re trying to work out the particulars of why or if a particular event is even reaching your extension. In fact the vast number of logging messages have often...
View ArticleReinventing AEPrintDesc
Daniel Jalkut: But when one is head-down, debugging a serious AppleEvent issue, it’s not uncommon to need to print AEDescs left, right, up, down, and diagonally. This needs to be fast-and-furious, not...
View ArticleXcode Consolation
Daniel Jalkut: Those are the basics, but another trick, I believe it was called ret in Gdb, comes in handy often: thread return – return immediately from the current stack frame You could use this if...
View ArticleObjective-C Debugging Cheat Sheet
Tim Ekl: After some nudging from coworkers, I took some time and scraped together all the various private methods I could find (as well as a few suggested on Twitter) and combined them into one...
View ArticleActivity Tracing
Florian Kugler: This year’s WWDC had an excellent session about it, but we thought it would be a good idea to give another overview here, since it is not widely known yet. The basic idea is that work...
View Articleobjc.io on Debugging
I already linked to one article of the December objc.io, but the whole issue is great. The other articles are: Debugging: A Case Study Dancing in the Debugger — A Waltz with LLDB Debugging Checklist...
View ArticleHopper + lldb for iOS Developers
Bart Cone: Have you ever wondered how people get pseduo-code of some private API like the image below? It’s actually very simple and is a great way to chase down those annoying bugs in UIKit or some...
View ArticleDocuments in the Cloud: bird and brctl
Apple’s site doesn’t yet document them, but bird is the system daemon behind iCloud documents, and brctl is the corresponding control utility (via Zachary Drayer).
View ArticleSwift Resistance
David Owens II (Open Radar): The fundamental problem with Swift, with regards to performance, is that it is impossible to reason what the performance of your code is going to be. It is impossible to...
View ArticlePrinting Objective-C Invocations in LLDB
Ari Grant: A while ago Facebook open-sourced Chisel, a collection of commands and functions to assist in debugging iOS apps in LLDB.[…] There is one command that I find particularly fun and interesting...
View ArticleLessons Learned in Software Development
Henrik Warne (via Drew Crawford): When you develop, and some tests fail, or a feature stops working, it’s much easier to find the problem if you only changed one thing. In other words, use short...
View ArticleThe One Line You Should Add to Every Makefile
John Graham-Cumming, who’s just written the GNU Make Book (Amazon): It’s: print-%: ; @echo $*=$($*) It allows you to quickly get the value of any makefile variable. For example, suppose you want to...
View ArticleLLVM’s New libFuzzer
Kostya Serebryany:Fuzzing (or fuzz testing) is becoming increasingly popular. Fuzzing Clang and fuzzing with Clang is not new: Clang-based AddressSanitizer has been used for fuzz-testing the Chrome...
View ArticleNSShowUnalignedViews
Ken Ferry: pass -NSShowUnalignedViews YES to get colored drawing around non-px-integral views
View ArticleAn @import-ant Change in Xcode
Craig Hockenberry:Buried deep within the Xcode 6.3 release notes there is a true gem that can relieve this daily frustration.LLDB’s parser for Objective-C can now go through any module used in your app...
View ArticleDebugging launchd
wuntee.sexy (via Hacker News): The reason I had an interest in debugging launchd is because I had been able to trigger some crashes. launchd is like init for linux; the kernel spawns it as PID 1 and...
View Article