Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using gdb info malloc command within xcode (iphone dev)

Tags:

xcode

iphone

gdb

I'm playing with gdb within xcode debugging an iphone app.

Supposedly, I should be able to use the following command:

info malloc <0xaddress>

see http://www.friday.com/bbum/2010/01/10/using-malloc-to-debug-memory-misuse-in-cocoa/ and strange GDB error unable to trace

I have env vars MallocStackLoggingNoCompact = 1 and NSZombieEnabled = YES set (via the executable in xcode).

However, I am getting this:

2010-10-03 21:29:01.366 memleaktest[10881:307] *** -[one release]: message sent to deallocated instance 0x1646b0
(gdb) info malloc 0x1646b0
Undefined info command: "malloc 0x1646b0".  Try "help info".

What am I missing to run this command? (xcode 3.2.4 and iphone SDK 4.1)

like image 248
Brynjar Avatar asked Jan 28 '26 06:01

Brynjar


2 Answers

Turns out you can only info malloc whilst debugging in the simulator - not on device.

like image 139
Brynjar Avatar answered Jan 29 '26 20:01

Brynjar


  1. In Xcode go to Run -> Enable Guard Malloc
  2. Set environment variable MallocStackLoggingNoCompact to YES (as you already did)

to make sure the logs are being written, in the debugger console you should see this message:

malloc: stack logs being written into /tmp/stack-logs.xxxx.MyApp.xxxxxx.index

Now you should be able to:

(gdb) info malloc 0x1646b0
like image 45
Bach Avatar answered Jan 29 '26 20:01

Bach