Quantcast
Channel: Debugging – Michael Tsai
Browsing all 170 articles
Browse latest View live

No More Logs for Missing NSAutoreleasePool

Uli Kusterer: So apparently Apple removed the “object autoreleased with no pool in place” error message. Chris Nebel: Not removed, but disabled by default. Set OBJC_DEBUG_MISSING_POOLS=YES to get it...

View Article


Xcode Memory Graph Debugger Tips

Brent Simmons: Lines between objects have a label. A line represents a reference. Click on the label to see if the reference is strong or weak or unknown and what the source and destination are. Don’t...

View Article


Proxyman 1.4.3

Proxyman (via Felix Krause): Proxyman is a high-performance macOS app, which enables developers to view HTTP/HTTPS requests from apps and domains. […] Organize your workflow by drag, drop and pin...

View Article

Debugging the Responder Chain

Jeff Nadeau: Maybe this will make it easier to see what’s up w/ the responder chain. Pause in the debugger and run (lldb) e -- (void)[[[NSClassFromString(@"NSDebugMenuResponderChainProvider") alloc]...

View Article

Drinking the SK8 Kool-Aid

Cameron Esfahani (thread, via Daniel Jalkut): One day my boss asked me to fly down to LA for the day. Apparently there was a developer there working on an app showcasing QuickDraw GX. […] And right...

View Article


KVO, My Enemy

Brent Simmons: One of the keys to the stability of the shipping versions of NetNewsWire is that we don’t allow KVO (Key-Value Observing). KVO is a false convenience — it’s often easier than setting up...

View Article

Profiling Mac Unit Tests

Ilja A. Iwas: Mac Devs: Is it just me, or is the “Profile ‘Test XYZ’” command in Xcode 11.3 broken? Instruments launches the main app, but does not run any tests. 🤷‍♂️ He’s filed bug FB7543911. There...

View Article

Writing Command Line Interfaces for iOS Apps

Guilherme Rambo: There are countless ways to go about creating a better environment for debugging and iteration while working in iOS apps, such as using launch arguments, environment variables, or...

View Article


Macintosh Y2020

Basal Gangster (via Keith Kaisershot, Hacker News): Macintosh clock time expires at 06:28:16 GMT Monday February 6, 2040. That’s going to be a problem for users of the old Macintosh, but it is a...

View Article


swiftdt (Swift Debug Tool)

Mike Ash (via Joe Groff): This is a tool which can inspect a Swift process and dump information about the Swift runtime in that process. It currently supports inspecting two kinds of information: It...

View Article

Reverse Engineering macOS 11.0

Apple: New in macOS Big Sur 11 beta, the system ships with a built-in dynamic linker cache of all system-provided libraries. As part of this change, copies of dynamic libraries are no longer present on...

View Article

Kaleidoscope 2.4.1

Filipe Espósito: After a long period without major updates, Kaleidoscope has been acquired by Letter Opener GmbH, which is now committed to providing regular updates to the app with new features....

View Article

Xcode 13 Column Breakpoints

Keith Harrison: Command-clicking on the symbol shows the code actions menu where you can set a column breakpoint[…] Xcode shows the breakpoint as a small carat at the column in the source code[…] […]...

View Article


How to Find Why a SwiftUI View Is Updating

Luca Bernardi (via Dave Verwer): SwiftUI has a new, pretty cool, debugging utility to help you understand what is causing a view to be reevaluated. Call Self._printChanges() inside the body of a view...

View Article

iOS Development Tips

Rony Fadel (tweet): How to QuickLook an object in Xcode if you only have its address […] How to demangle Swift symbols […] Asserting on which queue your code is running […] Reading a [SwiftUI] view’s...

View Article


Disabling 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

Debug 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 Article


Subclassing 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 Article

Limiting 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 Article

DTrace 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 Article
Browsing all 170 articles
Browse latest View live