使用少量信息调试iPad设备崩溃

Mik*_*keN 6 debugging objective-c objective-c++ ipad

我从设备中取出的iPad崩溃中获得了以下堆栈跟踪.这是从用户的iPad中提取的,我不知道它们崩溃时他们在做什么.我如何获得有关应用程序崩溃和修复的原因/位置的更多信息?

Uncaught C++ Exception
Stack trace:

   0 - 0   MyApp                               0x00005ac1 _Z16TerminateHandlerv + 24
   1 - 1   libstdc++.6.dylib                   0x33814e3d _ZN10__cxxabiv111__terminateEPFvvE + 52
   2 - 2   libstdc++.6.dylib                   0x33814e91 _ZSt9terminatev + 16
   3 - 3   libstdc++.6.dylib                   0x33814f61 __cxa_throw + 84
   4 - 4   libobjc.A.dylib                     0x3441dc8b objc_exception_throw + 70
   5 - 5   Foundation                          0x3645192b __NSThreadPerformPerform + 654
   6 - 6   CoreFoundation                      0x34e16a79 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
   7 - 7   CoreFoundation                      0x34e1875f __CFRunLoopDoSources0 + 382
   8 - 8   CoreFoundation                      0x34e194eb __CFRunLoopRun + 230
   9 - 9   CoreFoundation                      0x34da9ec3 CFRunLoopRunSpecific + 230
  10 - 10  CoreFoundation                      0x34da9dcb CFRunLoopRunInMode + 58
  11 - 11  GraphicsServices                    0x339d041f GSEventRunModal + 114
  12 - 12  GraphicsServices                    0x339d04cb GSEventRun + 62
  13 - 13  UIKit                               0x33a07d69 -[UIApplication _run] + 404
  14 - 14  UIKit                               0x33a05807 UIApplicationMain + 670
  15 - 15  MyApp                               0x000036af main + 70
  16 - 16  MyApp                               0x00003664 start + 40

小智 2

您可以尝试以下两件事:有时应用程序崩溃并且调试器以完全不同的方法停止。在 xcode 运行设置中启用“guard malloc”(在 xcode4 中的方案下),在调试器中运行应用程序直到它崩溃,然后看看是否显示了应该归咎于哪个方法。

如果没有,最好的选择是在调试器中运行应用程序并导致崩溃发生。尝试一切,模拟无处不在的内存警告,使用应用程序的每个功能,尝试应用程序中所有可能的路径组合。询问用户他们认为自己在做什么可能会缩小范围。