Android -JNI // NDK无法找到Sigsev
Android - JNI//NDK Failed to locate SIGSEV
我有ndk c 代码,会产生sigsegv错误。我无法追踪它。自定义信号处理返回空堆栈跟踪。
如果我在Android Studio调试器中遇到了错误,我得到了此跟踪:
线程93 -rxNewThreadSche
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
任何代码都不是"我的"。只有"熟悉"是第一行,但我不知道在哪里可以找到它。有什么想法吗?
不确定它是否与此相关...
我有代码:
env->NewObjectArray(size, env->FindClass("java/lang/String"), NULL)
替换为
env->NewObjectArray(size, env->FindClass("java/lang/String"), env->NewStringUTF(""))
错误未丢弃
相关文章:
- 通过JNI传递数据数组的最快方法是什么
- 为 NewObjectA() 函数创建 jvalues 的参数数组时出错 - JNI Invocation API
- 将 C# DLL 导入 C++ 以用于 JNI
- 用C++包装 Java 库 (JNI)
- 如何通过 JNI 将 C 字符串表情符号传递给 Java
- JNI从Android调用C++方法
- JVM 如何执行 JNI
- React Native (Android):无法通过 JNI 在 jobject 中返回字符串
- 如何将字符串数组返回到 java JNI
- JNI 日期值转换问题,在C++中获取不同的长整型值
- JNI,使用两个 .so 文件时出错,其中一个文件需要另一个文件
- Winapi - SetWindowLongPtr in ShutdownBlockReason创建/销毁JNI本机代码
- 将预编译的 C 共享库与 JNI/NDK 结合使用
- JNI 在应用程序中检测到错误:在为 innerclass 调用 NewObject 时使用了无效的 jobject
- 使用 jni 将返回带有模板的对象的 Java 代码转换为 c++
- 无法将DefineClass(JNI)与Qt资源一起使用
- 使用本机 JNI 静态方法实现C++ Java 运行时错误
- 从C++调用dll实现的JNI
- 如何在JNI中从线程内部调用JAVA方法
- Android -JNI // NDK无法找到Sigsev