сбой симулятора iphone - PullRequest
       20

сбой симулятора iphone

0 голосов
/ 16 сентября 2011

Мое приложение падает только в симуляторе, оно не падает на устройстве.

он вылетает в симуляторе и не дает мне ничего, кроме этого:

  #0    0x00000000 in 0x00000000 ()
    #1  0x0182966e in icu::RuleBasedBreakIterator::handleNext ()
    #2  0x018293dc in icu::RuleBasedBreakIterator::next() ()
    #3  0x01828a12 in icu::RuleBasedBreakIterator::following(int) ()
    #4  0x043378dd in WebCore::nextBreakablePosition(unsigned short const*, int, int, bool) ()
    #5  0x04cc2fca in -[NSString(WebStringDrawing) __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:renderedStringOut:] ()
    #6  0x04cc07be in -[NSString(WebStringDrawing) __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:] ()
    #7  0x04cc0499 in -[NSString(WebStringDrawing) _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:includeEmoji:truncationRect:measureOnly:] ()
    #8  0x04cc021b in -[NSString(WebStringDrawing) _web_sizeInRect:withFont:ellipsis:lineSpacing:] ()
    #9  0x0053fc33 in -[NSString(UIStringDrawing) sizeWithFont:constrainedToSize:lineBreakMode:lineSpacing:] ()
    #10 0x00644987 in -[UILabel _drawTextInRect:baselineCalculationOnly:] ()
    #11 0x006422fc in -[UILabel drawTextInRect:] ()
    #12 0x00559187 in -[UIView(CALayerDelegate) drawLayer:inContext:] ()
    #13 0x00221b5e in -[CALayer drawInContext:] ()
    #14 0x0022de47 in backing_callback(CGContext*, void*) ()
    #15 0x0017b1f7 in CABackingStoreUpdate ()
    #16 0x0022dd24 in -[CALayer _display] ()
    #17 0x0022427d in CALayerDisplayIfNeeded ()
    #18 0x001c90c3 in CA::Context::commit_transaction(CA::Transaction*) ()
    #19 0x001ca294 in CA::Transaction::commit() ()
    #20 0x001ca555 in CA::Transaction::release_thread(void*) ()
    #21 0x98f4de0c in _pthread_tsd_cleanup ()
    #22 0x98f0664c in _pthread_exit ()
    #23 0x98f069a0 in pthread_exit ()
    #24 0x00c93d1a in -[NSString compare:options:] ()
    #25 0x00c93c98 in __NSThread__main__ ()
    #26 0x98f04ed9 in _pthread_start ()
    #27 0x98f086de in thread_start ()

Почему это происходит?

Спасибо.

1 Ответ

1 голос
/ 16 сентября 2011

Установить NSZombieEnabled , MallocStackLogging и guard malloc в отладчике. Затем, когда ваше приложение падает, введите в консоли gdb:

(gdb) info malloc-history 0x543216

Замените 0x543216 адресом объекта, вызвавшего сбой, и вы получите гораздо более полезную трассировку стека, которая поможет вам точно определить строку в коде, которая вызывает проблему.

См. Эту статью для более подробных инструкций.


Другая идея - попытаться отключить автокоррекцию в приложении настроек симулятора.

enter image description here

...