skip to main |
skip to sidebar
Tim Isted, @timisted
NSLog, XCode and gdb
- useful macros for logging:
__FILE__ (full path)
__LINE__
__FUNCTION__ (and __PRETTY_FUNCTION__)
NSStringFromSelector(_cmd) gives you current message
- Lots of these useful NSString functions, e.g.
NSStringFromCGRect
- use macros in log define
- non-debug version should be something like:
TILog(...) do {} while (0)
- XCode preferences > Behaviours
- Run starts — can choose what displays
- XCode also has a variables view, hidden in the next pane of the debugger
- add breakpoints for exceptions or non-source code by using little plus button at bottom of breakpoints pane
- breakpoints have really useful options
- log to console on hit (with auto hit count)
- continue automatically
- only do stuff on conditions
- gdb commands:
s = step = Step In
m = Step Over
c = Continue
p = Print
po = Print Object
- debugging Core Data: use
[self valueForKey:@"propertyName"]
- can use addresses instead of variable names in
po
- can make breakpoints user-specific instead of project-specific
Instruments
- Time Profiler — great for catching infinite loops!
- shows you time spent at certain places in call stack
- tick the “Show Obj-C Only” checkbox
- look for purple user symbols!
- Heap Shot tool find leaks
- quite a few WWDC videos on Instruments
No comments:
Post a Comment