TextInput崩溃 - 如何调试?

时间:2013-03-28 01:08:43

标签: ios crash

我的iOS应用程序崩溃报告在崩溃的线程中有以下或类似的堆栈:

0   TextInput                           0x0003149a TIInputManager::apply_case_changes_to_result(std::vector >&, KB::Hashmap const&, std::vector > const&) const + 402
1   TextInput                           0x00030bf3 TIInputManager::lookup() + 863
2   TextInput                           0x000307ad TIInputManager::autocorrection() + 61
3   TextInput                           0x00042d21 -[TIKeyboardInputManagerZephyr autocorrection] + 137
4   UIKit                               0x0011a319 -[UIKeyboardImpl generateCandidatesWithOptions:] + 377
5   UIKit                               0x00133071 -[UIKeyboardImpl addInputString:fromVariantKey:] + 2597
6   UIKit                               0x00130f8d -[UIKeyboardImpl handleKeyEvent:] + 1453
7   UIKit                               0x001308b7 -[UIKeyboardLayoutStar sendStringAction:forKey:isPopupVariant:] + 487
8   UIKit                               0x0012f3ad -[UIKeyboardLayoutStar touchUp:] + 3101
9   UIKit                               0x0012e737 -[UIKeyboardLayout touchesEnded:withEvent:] + 387
10  UIKit                               0x000165f9 -[UIWindow _sendTouchesForEvent:] + 525
11  UIKit                               0x00003809 -[UIApplication sendEvent:] + 381
12  UIKit                               0x00003123 _UIApplicationHandleEvent + 6155
13  GraphicsServices                    0x000065a3 _PurpleEventCallback + 591
14  GraphicsServices                    0x000061d3 PurpleEventCallback + 35
15  CoreFoundation                      0x00097173 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 35
16  CoreFoundation                      0x00097117 __CFRunLoopDoSource1 + 139
17  CoreFoundation                      0x00095f99 __CFRunLoopRun + 1385
18  CoreFoundation                      0x00008ebd CFRunLoopRunSpecific + 357
19  CoreFoundation                      0x00008d49 CFRunLoopRunInMode + 105
20  GraphicsServices                    0x000052eb GSEventRunModal + 75
21  UIKit                               0x00057301 UIApplicationMain + 1121
22  MyApp                               0x0000294b main (main.mm:8)

只有最底线(main)才是我的。看起来崩溃是在文本输入框架中的修饰事件处理程序中的某个地方,它与自动更正有关。

这些崩溃带来令人沮丧的一致性 - 这看起来像是我的一个微妙的错误,而不是iOS本身。调用堆栈不一致 - 有时它以UIKit结尾,有时在libobjc中结束。然而,iOS版本似乎始终是6.x。

请问如何调试这个?

编辑:线程0中的SIGSEGV / SEGV_ACCERR。错误地址各不相同 - 有时,它为零,有时不是。

2 个答案:

答案 0 :(得分:0)

这实际上是Apple的一个错误。在模拟器上进入您的设置(即SIM卡上的设置应用程序),然后关闭自动更正。

答案 1 :(得分:0)

我在iOS 6.1.3(两次)和6.1.4(一次)上看到了相同的内容,所有这些都在报告为crashlogs的字段中。在Apple的C ++代码中,所有似乎都是nil指针解引。我不认为除了向Apple提交错误报告之外我们还能做些什么(我已经提出了一个列为:15573020)。 Apple会将重复报告视为错误优先级的指标,因此如果您受到影响,我建议您在https://bugreport.apple.com添加报告,并参考我提供的报告。