【问题标题】:iPhone:How to find infrequent device crash?iPhone:如何找到不常见的设备崩溃?
【发布时间】:2010-12-17 04:36:48
【问题描述】:

我的源代码项目很少发生崩溃。尽管我尝试复制了很多次,但我找不到确切的可复制步骤。在设备上的 dubug 期间,复制它变得非常困难,因为它有时会发生在某个地方。在 iPhone Xcode 开发中,当设备(或)任何其他工具/方法崩溃时是否有任何日志打印以准确找出可能发生的位置?

感谢并感谢您对此提供的帮助。

这是我的应用最新崩溃:有人能找到任何原因吗?

事件标识符:96E3C178-967C-4054-8470-A8628D77EDE1 CrashReporter 密钥:0e061dbe05ca13005016137051a2c0ef819425e9 进程:我的应用程序 [4472] 路径:/var/mobile/Applications/A8483A85-E5A5-46CF-B9B8-4D99F5C951F9/myapplication.app/myapplication 标识符:myapplication 版本: ??? (???) 代码类型:ARM(本机) 父进程:launchd [1]

日期/时间:2009-11-17 17:27:49.366 +0530 操作系统版本:iPhone OS 3.0 (7A341) 报告版本:104

异常类型:00000020 异常代码:0x8badf00d 突出显示的线程:0

应用特定信息: com.mycompany.myapplication 未能及时启动 经过的总 CPU 时间(秒):3.630(用户 1.430,系统 2.200),18% CPU 已用应用程序 CPU 时间(秒):1.050,5% CPU

线程 0: 0 libSystem.B.dylib 0x31d47158 mach_msg_trap + 20 1 libSystem.B.dylib 0x31d49ed8 mach_msg + 60 2 核心基础 0x3025454e CFRunLoopRunSpecific + 982 3 核心基础 0x30254164 CFRunLoopRunInMode + 44 4 UIKit 0x308f034c-[UIApplication_run] + 512 5 UIKit 0x308eea8c UIApplicationMain + 960 6 我的应用程序 0x00002090 主 (main.m:14) 7 我的应用程序 0x0000202c 开始 + 44

线程 1: 0 libSystem.B.dylib 0x31d47158 mach_msg_trap + 20 1 libSystem.B.dylib 0x31d49ed8 mach_msg + 60 2 核心基础 0x3025454e CFRunLoopRunSpecific + 982 3 核心基础 0x30254164 CFRunLoopRunInMode + 44 4 WebCore 0x3588dbc8 __ZL12RunWebThreadPv + 412 5 libSystem.B.dylib 0x31d705a0 _pthread_body + 20

Unknown thread crashed with unknown flavor: 5, state_count: 1

二进制图像: 0x1000 - 0xbfff +myapplication armv6 /var/mobile/Applications/A8483A85-E5A5-46CF-B9B8-4D99F5C951F9/myapplication.app/myapplication 0x1f000 - 0x22fff +MobileSubstrate.dylib armv6 /Library/MobileSubstrate/MobileSubstrate.dylib 0x4d000 - 0x4efff dns.so armv6 /usr/lib/info/dns.so 0x51000 - 0x51fff +SimulatedKeyEvents.dylib arm /Library/MobileSubstrate/DynamicLibraries/SimulatedKeyEvents.dylib 0x2fe00000 - 0x2fe26fff dyld armv6 /usr/lib/dyld 0x30000000 - 0x30008fff libgcc_s.1.dylib armv6 /usr/lib/libgcc_s.1.dylib 0x3000c000 - 0x3015bfff libobjc.A.dylib armv6 /usr/lib/libobjc.A.dylib 0x301ca000 - 0x301d8fff libz.1.dylib armv6 /usr/lib/libz.1.dylib 0x301fd000 - 0x302a8fff CoreFoundation armv6 /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation 0x30501000 - 0x305f5fff 基础 armv6 /System/Library/Frameworks/Foundation.framework/Foundation 0x3071d000 - 0x30729fff CoreVideo armv6 /System/Library/PrivateFrameworks/CoreVideo.framework/CoreVideo 0x3073a000 - 0x30760fff AppSupport armv6 /System/Library/PrivateFrameworks/AppSupport.framework/AppSupport 0x30778000 - 0x3077dfff liblockdown.dylib armv6 /usr/lib/liblockdown.dylib 0x308ed000 - 0x31521fff UIKit armv6 /System/Library/Frameworks/UIKit.framework/UIKit 0x31885000 - 0x318d1fff IOKit armv6 /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit 0x318e9000 - 0x31aa2fff CoreGraphics armv6 /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics 0x31af1000 - 0x31b58fff CFNetwork armv6 /System/Library/Frameworks/CFNetwork.framework/CFNetwork 0x31bb2000 - 0x31bc8fff OpenGLES armv6 /System/Library/Frameworks/OpenGLES.framework/OpenGLES 0x31bcf000 - 0x31cccfff JavaScriptCore armv6 /System/Library/PrivateFrameworks/JavaScriptCore.framework/JavaScriptCore 0x31d46000 - 0x31e69fff libSystem.B.dylib armv6 /usr/lib/libSystem.B.dylib 0x31ea9000 - 0x31feffff AudioToolbox armv6 /System/Library/Frameworks/AudioToolbox.framework/AudioToolbox 0x32041000 - 0x3204bfff GraphicsServices armv6 /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices 0x3209b000 - 0x320cefff 安全 armv6 /System/Library/Frameworks/Security.framework/Security 0x320e8000 - 0x32194fff ImageIO armv6 /System/Library/PrivateFrameworks/ImageIO.framework/ImageIO 0x32369000 - 0x3239cfff SystemConfiguration armv6 /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration 0x324c6000 - 0x32521fff CoreAudio armv6 /System/Library/Frameworks/CoreAudio.framework/CoreAudio 0x325b2000 - 0x325cefff 地址簿 armv6 /System/Library/Frameworks/AddressBook.framework/AddressBook 0x3291c000 - 0x329c4fff QuartzCore armv6 /System/Library/Frameworks/QuartzCore.framework/QuartzCore 0x32a16000 - 0x32a16fff CoreSurface armv6 /System/Library/PrivateFrameworks/CoreSurface.framework/CoreSurface 0x32a1b000 - 0x32a1cfff IOMobileFramebuffer armv6 /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/IOMobileFramebuffer 0x32e0c000 - 0x32f0dfff libicucore.A.dylib armv6 /usr/lib/libicucore.A.dylib 0x3311e000 - 0x33213fff libxml2.2.dylib armv6 /usr/lib/libxml2.2.dylib 0x332c9000 - 0x33372fff WebKit armv6 /System/Library/PrivateFrameworks/WebKit.framework/WebKit 0x3415c000 - 0x34165fff SpringBoardServices armv6 /System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices 0x347f5000 - 0x34812fff libresolv.9.dylib armv6 /usr/lib/libresolv.9.dylib 0x34c0e000 - 0x34c14fff MBX2D armv6 /System/Library/PrivateFrameworks/MBX2D.framework/MBX2D 0x3553e000 - 0x3557bfff CoreText armv6 /System/Library/PrivateFrameworks/CoreText.framework/CoreText 0x355c8000 - 0x355ccfff IOSurface armv6 /System/Library/PrivateFrameworks/IOSurface.framework/IOSurface 0x3580b000 - 0x35f5afff WebCore armv6 /System/Library/PrivateFrameworks/WebCore.framework/WebCore 0x36422000 - 0x3647cfff libsqlite3.dylib armv6 /usr/lib/libsqlite3.dylib 0x3648a000 - 0x36493fff libkxld.dylib armv6 /usr/lib/system/libkxld.dylib 0x36496000 - 0x364a6fff libbsm.0.dylib armv6 /usr/lib/libbsm.0.dylib 0x37124000 - 0x3712efff MobileCoreServices armv6 /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices 0x3748a000 - 0x374f3fff libstdc++.6.dylib armv6 /usr/lib/libstdc++.6.dylib 0x37c74000 - 0x37c74fff 加速 armv6 /System/Library/PrivateFrameworks/Accelerate.framework/Accelerate 0x37cc8000 - 0x37d0bfff libvDSP.dylib armv6 /System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/libvDSP.dylib 0x37d12000 - 0x37d12fff vecLib armv6 /System/Library/PrivateFrameworks/Accelerate.framework/Frameworks/vecLib.framework/vecLib

【问题讨论】:

    标签: iphone


    【解决方案1】:

    你应该可以得到crash log

    在崩溃日志中,您将看到应用程序崩溃时发生的情况stack trace

    通过堆栈跟踪查看您所做的最后一件事。跟踪中的最后一件事可能是在您调用的框架方法中,因此将调用追溯到您的代码并将其用作起点。

    一旦您知道崩溃发生在代码中的哪个位置,请尝试考虑可能导致崩溃的原因。如果您无法查看可能导致崩溃的原因,请在此处发布导致崩溃的行(连同环绕代码),我们可能会了解导致崩溃的原因。

    如果您还在寻找 Xcode 提供的调试资源,请阅读 Xcode Debugging Guide

    【讨论】:

    • 嗨,Ben,还有一个问题,我遇到了崩溃,但在那里没有找到任何日志。这是否意味着,这不是崩溃(或)设备中是否有机会因某种原因不存储日志?
    • 如果没有崩溃日志,这可能意味着应用程序因使用过多内存而被关闭 - 在这种情况下,您应该会在设备控制台中看到一条消息,指示您的应用程序正在关闭.
    【解决方案2】:

    在 10.6 中对 Xcode 使用静态分析可能会很有启发性。我发现很多错误并没有以这种方式发出警告。

    【讨论】:

      猜你喜欢
      • 2011-08-17
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多