【发布时间】:2013-03-28 01:08:43
【问题描述】:
我的 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。错误地址不同 - 有时为零,有时不是。
【问题讨论】:
-
你找到解决这个问题的方法了吗?这里也一样。
-
遇到同样的问题。
-
如何实现文本输入? xcode 在哪里显示错误?你试过运行nszombies吗?你试过什么?您的问题中没有任何内容可以帮助任何人帮助您。请更具体。
-
有异常吗? EXC_BAD_ACCESS?如果我们不知道抛出的实际错误,堆栈跟踪将无济于事。
-
什么是 TIInputManager?你在使用框架吗?