将jni的入参JNIEnv赋值为全局变量

发布于 2021-11-16 18:49:31 字数 1172 浏览 738 评论 1

我将jni调用函数中的入参JNIEnv* 赋值为全局变量,然后在另一个函数中调用,程序core掉,core文件中提示

0x0000003bc4c30265 in raise () from /lib64/libc.so.6
#1  0x0000003bc4c31d10 in abort () from /lib64/libc.so.6
#2  0x00002add620543d7 in os::abort () from /opt/jdk1.6.0_19/jre/lib/amd64/server/libjvm.so
#3  0x00002add6218d50d in VMError::report_and_die () from /opt/jdk1.6.0_19/jre/lib/amd64/server/libjvm.so
#4  0x00002add6205a4c1 in JVM_handle_linux_signal () from /opt/jdk1.6.0_19/jre/lib/amd64/server/libjvm.so
#5  0x00002add62056cfe in signalHandler () from /opt/jdk1.6.0_19/jre/lib/amd64/server/libjvm.so
#6  <signal handler called>
#7  0x00002add61e629f3 in jni_FindClass () from /opt/jdk1.6.0_19/jre/lib/amd64/server/libjvm.so
#8  0x00002aab3c3e5ef1 in JNIEnv_::FindClass (this=0x2aab3414f050, name=0x2aab3c3e8fb0 "report/dataaccess/reportservice/queryReportObject")
    at /opt/jdk1.6.0_19/include/jni.h:776
#9  0x00002aab3c3e5576 in Java_report_dataaccess_reportservice_JQueryReportServer_GetQueryReportServerResult (p_env=0x43c6a9b8, p_arg=0x41767b38

 

请各位大侠赐教!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

已下线请稍等 2021-11-19 06:57:41

Java有明确的提示,JNIEnv不要cache起来,不同线程的JNIEnv是不一样的:

http://www.cnblogs.com/lovingprince/archive/2008/08/19/2166366.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文