Quantcast
Channel: Debugging – Michael Tsai
Browsing latest articles
Browse All 170 View Live

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


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


Swift’s dump()

Shaps (via iOS Dev Weekly): ProTip: Why debug with print when you can dump? dump uses Mirror for introspection.

View Article

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

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


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

Swift’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 Article

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


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


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

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

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

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


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

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


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

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


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

CodeRunner 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

Debugging Dyld

Alex Denisov: Recently, I was debugging an interesting issue: a program crashes whenever it tries to call a particular function from a dynamic library. It was not clear how to debug this issue....

View Article

Problems With os_log

BJ Homer: Is there anyone outside Apple who finds the new logging system useful? Seems like it’s annoying and actively intrusive for external developers. The os_log features are useful to Apple, but...

View Article


High Memory Use With Vapor and MySQL

Tanner (via Ilja A. Iwas): MySQL 3.2.4 has been tagged with a fix that reduces peak memory usage by 10-15x for the sample project. See vapor/mysql#232 if you’re interested to see what was...

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

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


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

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


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

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

CloudKit 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

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

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


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

Browsing latest articles
Browse All 170 View Live