Viewing a dynamically-allocated array with the Xcode debugger?

You can use gdb syntax as expressions:

  1. Use Run/Show/Expressions... menu to show the expressions window
  2. Enter '*velocity @ 100' at the bottom of the window (Expression:)

As of Xcode 10, you can right-click velocity, choose "View value as..." and then "Custom Type". Then cast it to (double(&)[100]) *velocity and display the array in the GUI.


I think that my answer will be a good addition for the old one.

New versions of Xcode use lldb debugger as default tool instead of gdb.

According this page:

With the release of Xcode 5, the LLDB debugger becomes the foundation for the debugging experience on OS X.

So for Xcode since version 5 and up I use this lldb command:

memory read -t int -c8 `array_name`

where:
8 - the number of elements in array
array_name - the name of array
int - the type of array

The result of execution of this command will be something like this:

(lldb) memory read -t int -c8 array
(int) 0x7fff5fbff870 = 7
(int) 0x7fff5fbff874 = 6
(int) 0x7fff5fbff878 = 9
(int) 0x7fff5fbff87c = 10
(int) 0x7fff5fbff880 = 1
(int) 0x7fff5fbff884 = 8
(int) 0x7fff5fbff888 = 4
(int) 0x7fff5fbff88c = 3

Tags:

C++

Macos

Xcode

Gdb