Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > Странное падение ndk


Автор: dershokus 29.1.2014, 15:36
Здравствуйте, сталкнулся с такой странной проблемой. Я портирую существующую библиотеку на Android. Сегодня увидел странный креш:
Цитата

Signal 11(SIGSEGV), code 1(SEGV_MAPERR) at 0x0005f662

Да, видно что адрес на 4 не делится, но это происходит в самом начале функции:
Код

Dump of assembler code for function A::Method():
   0x0005f658 <+0>:     push    {r3, r4, r5, r6, r7, lr}
   0x0005f65a <+2>:     ldr     r3, [pc, #96]   ; (0x5f6bc A::Method()+100>)
   0x0005f65c <+4>:     movs    r6, #0
   0x0005f65e <+6>:     adds    r5, r0, #0
   0x0005f660 <+8>:     add     r3, sp
   0x0005f662 <+10>:    str     r6, [r3, #0]                ; Вот тут это и падает
   0x0005f664 <+12>:    bl      0x60f40 <A::AnotherMethod()>

Код на C++ выглядит так:
Код

void A::Method(void)
{
    AnotherMethod();
    // тут уже делаются други операции, но до них дело не доходит...
}

явно ошибочный адрес образуется в [r3, #0], но я не понимаю почему. Буду рад любой помощи.

Автор: javastic 30.1.2014, 11:10
рад помочь, но лично я с ndk не работал. :\

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)