2017-12-22 16 views
0

NDK C++ 코드가있어서 SIGSEGV 오류가 발생합니다. 나는 그것을 추적 할 수 없다. 사용자 지정 신호 처리는 빈 스택 추적을 반환합니다. - 코드의 RxNewThreadScheAndroid - JNI // NDK SIGSEV를 찾지 못했습니다.

void std::__1::__tree_remove<std::__1::__tree_node_base<void*>*>(std::__1::__tree_node_base<void*>*, std::__1::__tree_node_base<void*>*) 0x00000000f0ae86ea 
art::gc::allocator::RosAlloc::RefillRun(art::Thread*, unsigned int) 0x00000000f0ae2174 
art::gc::allocator::RosAlloc::AllocFromRun(art::Thread*, unsigned int, unsigned int*, unsigned int*, unsigned int*) 0x00000000f0ae22de 
art::mirror::Object* art::gc::Heap::AllocObjectWithAllocator<true, true, art::mirror::SetLengthVisitor>(art::Thread*, art::mirror::Class*, unsigned int, art::gc::AllocatorType, art::mirror::SetLengthVisitor const&) 0x00000000f0a8f086 
art::mirror::ObjectArray<art::mirror::Object*>::Alloc(art::Thread*, art::mirror::Class*, int, art::gc::AllocatorType) 0x00000000f0bc1fe0 
art::Array_createObjectArray(_JNIEnv*, _jclass*, _jclass*, int) 0x00000000f0c44af0 
java.lang.Object java.lang.reflect.Array.createObjectArray(java.lang.Class, int) 0x000000007229d5d2 

없음 "내"입니다 (93)

스레드 : 나는 안드로이드 Studio 디버거에서 오류를 잡을 경우

, 나는이 추적을 얻었다. "친숙한"단어 만 첫 번째 줄이지만 어디에서 찾을 수 있는지 잘 모릅니다. 어떤 아이디어? 내가 코드를했다

... 그것은이 여부와 관련된 경우

답변

0

확실하지 :

env->NewObjectArray(size, env->FindClass("java/lang/String"), NULL) 

이 후

env->NewObjectArray(size, env->FindClass("java/lang/String"), env->NewStringUTF("")) 

오류로 교체가

를 슬로우되지 않는