NSThread Class Reference - callStackSymboles
例えば適当なメソッドでコンソールへ出力すると:
- (void)changeStateOfSwitch:(id)sender { NSLog(@"%@", [NSThread callStackSymbols]); }
こうなる。
0 SampleApp 0x00037936 -[PreferenceViewController changeStateOfSwitch:] + 44 1 UIKit 0x000d2e14 -[UIApplication sendAction:to:from:forEvent:] + 119 2 UIKit 0x002a1c41 -[_UISwitchSlider sendAction:to:forEvent:] + 104 3 UIKit 0x0015e71b -[UIControl(Static) _sendDelayedActions:] + 477 4 UIKit 0x0015c5cf -[UIControl(Internal) _sendDelayedActions] + 42 5 UIKit 0x001d8e47 -[UISlider _sendDelayedActions] + 110 6 Foundation 0x01e39cea __NSFireDelayedPerform + 441 7 CoreFoundation 0x02a00d43 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19 8 CoreFoundation 0x02a02384 __CFRunLoopDoTimer + 1364 9 CoreFoundation 0x0295ed09 __CFRunLoopRun + 1817 10 CoreFoundation 0x0295e280 CFRunLoopRunSpecific + 208 11 CoreFoundation 0x0295e1a1 CFRunLoopRunInMode + 97 12 GraphicsServices 0x02c6a2c8 GSEventRunModal + 217 13 GraphicsServices 0x02c6a38d GSEventRun + 115 14 UIKit 0x000e0b58 UIApplicationMain + 1160 15 SampleApp 0x0000203c main + 102 16 SampleApp 0x00001fcd start + 53
おお、これは便利。前からこういうのが欲しかった。
コールスタックの内容はデバッガを使えば確認できるけれど NSLogだとお手軽に使える。
Responses
Leave a Response