Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to use XCode's Instruments with breakpoints enabled?

I'm trying to optimize the memory usage of an iOS app, and I'd like to see what the app's total memory usage is at specific points in the code. I was thinking I should be able to set breakpoints, profile the app with Activity Monitor, and just look at the memory use when each breakpoint catches. But when I run Instruments, it seems breakpoints no longer stop execution, so it's hard to know exactly when memory usage is changing.

Is it possible to use breakpoints and Instruments at the same time? If not, is there a clever way of writing some code to insert a marker into the Instruments timeline when specific events occur?

like image 902
Jesse Crossen Avatar asked Oct 28 '11 16:10

Jesse Crossen


2 Answers

I also ran into this issue today, and after a bit of searching I found this solution. Text below is a quote from the post:

Breakpoints Do Not Break. Instruments utilizes debug information from your debug build, however, it does not stop at break points you set. This is because while you are loading your application into Instruments from the menu in XCode, Instruments simply uses the path of the current executable as its start path and loads it externally from XCode. The menu in XCode is really there as a convenience mechanism. This is not a big deal as you can always run again in Debug mode after your instruments session should you want your application to break. It’s just something to make a note of.

NSLog Statements Do Not Show In The Debugger Console. If you want to see your NSLog statements, you will need to load the system Console application (/Applications/Utilities/Console).

Reference: http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments/

like image 74
propstm Avatar answered Oct 21 '22 11:10

propstm


Well, you aren't running under control of the debugger.

One approach might be to add alerts at the key points, and take a heapshot then (manually).

Or there may be some dtrace wizardry.

like image 37
David Dunham Avatar answered Oct 21 '22 10:10

David Dunham