Attach Xcode to Multiple Processes
Daniel Jalkut: For these scenarios, Xcode provides a handy checkbox that can be used to automatically attach when one of an app’s XPC services is launched. Look deep in the “Options” tab of the scheme...
View ArticleProcessor Trace Instrument
Victor Wynne (via Hacker News): Apple’s latest addition to Xcode, the Processor Trace instrument, is one of those features that sounds pretty mundane until you actually try it. Then you realize it’s...
View ArticleLogging Privacy Shenanigans
Peter Steinberger: If you’ve ever tried debugging a macOS app using the unified logging system, you’ve probably encountered the dreaded <private> redaction. Your carefully crafted log messages...
View ArticleThe Invalid 68030 Instruction That Accidentally Allowed the Mac Classic II to...
Doug Brown (via Uli Kusterer): This is the story of how Apple made a mistake in the ROM of the Macintosh Classic II that probably should have prevented it from booting, but instead, miraculously, its...
View ArticleKaleidoscope 5.4
Florian Albrecht: [The ksdiff] command (called ksp in earlier versions) captures the output from any LLDB command and sends it to Kaleidoscope. Key features include:Designed for repeated use to compare...
View ArticleXcode 16 Announced
Apple: Discover the latest productivity and performance improvements in Xcode 16. Learn about enhancements to code completion, diagnostics, and Xcode Previews. Find out more about updates in builds and...
View ArticleChromium Browsers Preferencing *.google.com Domains
Simon Willison (Hacker News): It turns out Google Chrome (via Chromium) includes a default extension which makes extra services available to code running on the *.google.com domains - tweeted about...
View ArticleRounded Quick Look Corners
Robin Allen (via Hacker News): For whatever reason, QuickLook will now remove the corners of your images before showing them to you.It doesn’t matter if they’re photos, game assets, or UI elements...
View ArticleCloudKit Throttles and Debugging
TN3162: The CloudKit infrastructure is shared by all apps and services. The resources are finite, and so high utilization from one app can negatively affect others. To avoid this kind of impact and...
View Article_eventFirstResponderChainDescription
Stephan Casas: AppKit includes a private category on NSApplication that adds _eventFirstResponderChainDescription — a string describing the current responder chain. This can be a really useful...
View ArticleMaking Friends With AttributeGraph
Saagar Jha: If you’ve used SwiftUI for long enough, you’ve probably noticed that the public Swift APIs it provides are really only half the story. Normally inconspicuous unless something goes...
View ArticleMacSymbolicator 2.6
Mahdi Bchatnia (via Daniel Jalkut): A simple Mac app for symbolicating macOS/iOS crash reports.Supports symbolicating:.crash and .ips crash reportssample and spindump reports
View ArticleOn-Crash Backtraces in Swift
Alastair Houghton: Prior to Swift 5.9, all you would get when your program fails is a message from the parent process (often the shell) telling you that the child process crashed[…] […] Now, instead of...
View ArticleWhat Happened to __crashreporter_info__?
Seth Willits (in 2022): The new “ips” crash reports in macOS do not contain assert() information!(Assertion failed: (myVar != nil), function fooBarTest(), file code.m, line 100)Problematic because...
View ArticleDebugging Universal Links
TN3155: To test your universal links behavior, paste a link into your Notes app and long-press it (iOS) or control-click it (macOS) to see your options for following the link. If universal links have...
View ArticleDTrace at 20
Bryan Cantrill: Two decades ago today, DTrace integrated into the operating system. Much has changed in the last 20 years -- but one thing has remained true: we ourselves still use it on a daily...
View ArticleLimiting Swift Concurrency’s Cooperative Pool
Alejandro Martinez: In Swift Concurrency all your async code runs in a cooperative thread pool, unless you are using Actors (or in the future custom Executors, but that’s a topic for another day). The...
View ArticleSubclassing for Debugging
Paul Samuels: 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. […] There are plenty more...
View ArticleDebug Printing in Swift
Jordan Morgan: For debugPrint()… Things look a little bit different. Its output is strikingly similar to the print(), but it has a fully qualified print out.[…]However, if the type doesn’t conform to...
View ArticleDisabling Exception Breakpoint When Running Unit Tests
Brian Webster: The problem is that I usually have Xcode’s built-in “All Exceptions” breakpoint enabled when debugging my application, but when I run unit tests in Xcode, I have certain unit tests that...
View Article