Getting Started with Instruments

February 8th, 2016

Filed under: Instruments | Be the first to comment!

Instruments is a performance measurement tool that ships with Xcode. Instruments is a powerful tool, but it can feel intimidating to use. In this article I’ll introduce you to Instruments and show you how to check for memory leaks and measure your application’s memory usage. Remember that Instruments is a complex application. Don’t get discouraged […]


Xcode 7: Profiling Unit Tests in Instruments

January 26th, 2016

Filed under: Instruments, Xcode | 1 comment

I learned about this tip from an Apple engineer on Apple’s developer forums and felt like sharing it here. Xcode 7 lets you profile unit tests in Instruments, using the following steps: Open the test navigator. Right-click on a test or a group of tests in the test navigator. Choose Profile “testMethod”, where testMethod is […]


Xcode 7: Compare Instruments Call Trees

September 28th, 2015

Filed under: Instruments, Xcode | 2 comments

A new feature of Instruments in Xcode 7 is the ability to compare two call trees in the Time Profiler instrument. This article provides a brief introduction on using this feature. Comparing two call trees is also available in the Counters template (it was disabled for me in every other template), but I’m going to […]


Xcode 7: Setting Instruments Inspection Ranges

September 21st, 2015

Filed under: Instruments, Xcode | Be the first to comment!

In the version of Instruments that comes with Xcode 7, Apple removed the menu items to set inspection ranges that were in the View menu in Instruments 6. To set an inspection range in Instruments 7, click inside an instrument’s graph and drag. In the screenshot the inspection range is highlighted in blue. After setting […]


Instruments: Why Does the Allocations Instrument Show the Wrong Amount of Memory Usage?

January 26th, 2015

Filed under: Instruments | Be the first to comment!

I’ve seen this question asked multiple times on Stack Overflow. The person asking the question is using the Allocations instrument to profile the memory usage of an iOS app. The Allocations instrument reports less memory being used than the app is really using. Why isn’t the Allocations instrument reporting the correct amount of memory? The […]


Xcode 6: Setting Instruments Inspection Ranges

October 29th, 2014

Filed under: Instruments, Xcode | 3 comments

In Xcode 6 Instruments no longer has toolbar buttons to set inspection ranges. How do you set inspection ranges with Instruments in Xcode 6? Use the View menu. The View menu has items to set the start of an inspection range, set the end of an inspection range, and clear an inspection range.


Xcode 6: Instruments UI Changes

September 23rd, 2014

Filed under: Instruments, Xcode | Be the first to comment!

Instruments is the developer tool that has the most user interface changes in Xcode 6. This article details the changes I noticed when using the new version of Instruments. Settings and Configuration The lower right corner of the trace document window contains settings and configuration information. If you look at the screenshot, you will see […]


Instruments: Heap Allocations and Anonymous VM

January 6th, 2014

Filed under: Instruments | 4 comments

One change to the Allocations instrument in Instruments 5, which comes with Xcode 5, is that the allocation summary lists the heap allocations and the amount of anonymous VM, which you can see in the following screenshot: Should you focus on the Live Bytes column for heap allocations or anonymous VM? Focus on the heap […]


Xcode 5: Instruments Heapshot Analysis Change

October 4th, 2013

Filed under: Instruments, Xcode | 1 comment

Xcode 5 has a naming change for the Allocations instrument in Instruments. The Heapshot Analysis section has been renamed Generations.


User Interface Instrument

December 19th, 2011

Filed under: Instruments | Be the first to comment!

The User Interface instrument records the user interaction with your Mac application and lets you replay the recording. This instrument records every event that occurs when you run the application. Choose the UI Recorder template to use the User Interface instrument. Before You Trace User Interface recording requires the Enable access for assistive devices checkbox […]