开发者

help understanding iPhone error message

I have recently set up Hoptoad to capture my iphone app error messages. This is one example, but I am at a loss as to how to understand where the error actually occurs (it is triggered when the app launches).

The headline error message is HTSignalRaisedException: Application received 开发者_StackOverflow中文版signal SIGBUS

And the body is

CoreFoundation:0:in `0x01256bcc __exceptionPreprocess + 156'
libobjc.A.dylib:1:in `0x013ab5c2 objc_exception_throw + 47'
CoreFoundation:2:in `0x0120f628 +[NSException raise:format:arguments:] + 136'
CoreFoundation:3:in `0x0120f59a +[NSException raise:format:] + 58'
cooking:4:in `timer 0x0001a3ac HTHandleSignal + 174'
libSystem.B.dylib:5:in `0x908dc46b _sigtramp + 43'
0xffffffff:6:in `0x0 + 4294967295'
Foundation:7:in `0x00d557a5 __NSFireTimer + 125'
CoreFoundation:8:in `0x01237fe3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19'
CoreFoundation:9:in `0x01239594 __CFRunLoopDoTimer + 1220'
CoreFoundation:10:in `0x01195cc9 __CFRunLoopRun + 1817'
CoreFoundation:11:in `0x01195240 CFRunLoopRunSpecific + 208'
CoreFoundation:12:in `0x01195161 CFRunLoopRunInMode + 97'
GraphicsServices:13:in `0x014ca268 GSEventRunModal + 217'
GraphicsServices:14:in `0x014ca32d GSEventRun + 115'
UIKit:15:in `0x0006442e UIApplicationMain + 1160'
cooking:16:in `timer 0x00001cf8 main + 102'
cooking:17:in `timer 0x00001c89 start + 53'

I just cannot see where the error lies. I assume it's towards the end of the code? None of the names are references to any of the functions I have!

Help is much appreciated!


It's not clear if you are familiar with stack traces, so forgive me if this old news.

The first line is the line the app reached, the next line down is the line that called that, etc. At the bottom you can see start, the entry point to your app. You can see that the start function calls your main function.

The reason you don't recognise any function names is because you are crashing in an NSTimer callback, or some other deferred call that uses an NSTimer as the delayed mechanism.

Unfortunately a stack trace isn't going to be able to tell you where or what created the timer. However i'm fairly certain that if the calback selector was wrong you would see a doesNotRecognizeSelector line in the stack trace - so i would hazard a guess that the target for the callback has been released..

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜