草庐IT

CreateJavaVM

全部标签

java - 最近的 Ubuntu 16.04 中的 JNI_CreateJavaVM() 堆栈损坏

几周以来,SWI-PrologJava接口(interface)在JNI_CreateJavaVM中立即崩溃。好吧,在大多数机器上。它在我的一台机器上运行良好,它运行相同版本的Ubuntu和openjdk...我将其简化为这个小程序:#include#include#includestaticJavaVM*jvm;intmain(intargc,char**argv){JavaVMInitArgsvm_args={0};JNIEnv*env;JavaVMOptionopt[8]={0};intoptn=0;intr;opt[optn++].optionString="-Djava.cl

java - 如何在没有 Valgrind 错误的情况下调用 JNI_CreateJavaVM?

在valgrind下编译和运行以下代码时,我一直收到“Invalidwriteofsize4”错误。有没有一种调用JNI_CreateJavaVM()的简洁方法,这样valgrind就不会出错?#include#include#includeintmain(){JavaVMInitArgs*vm_args=calloc(1,sizeof(JavaVMInitArgs));JavaVM*jvm=NULL;JNIEnv*env=NULL;vm_args->version=JNI_VERSION_1_6;vm_args->nOptions=0;vm_args->options=NULL;JN

java - Eclipse:JVM 共享库不包含 JNI_CreateJavaVM 符号

MacOSX10.9上的Eclipse4.4.0,当我尝试运行它时JVM8发出警告:“JVM共享库“/Library/Java/JavaVirtualMachine/jdk1.8.0_20.jdk/Contents/Home/bin/.../jre/lib/server/libjvm.dylib”不包含JNI_CreateJavaVM符号”应用程序没有启动。我按照Shan的8/25说明编辑了Info.plist,但我仍然遇到同样的错误。我也从Apple的网站下载并安装了Java,但我仍然遇到同样的错误。感谢您的帮助。 最佳答案 如果

java - 来自 JNI_CreateJavaVM (jvm.dll) 的异常 0xC0000005

我正在使用以下C++代码初始化JavaVM。JNI_CreateJavaVM抛出一个0xC0000005异常,但如果我忽略它仍然会成功。'Jni.exe'(Win32):Loaded'C:\Tools\Java\Jdk8.77x86\jre\bin\zip.dll'.CannotfindoropenthePDBfile.Exceptionthrownat0x02900282inJni.exe:0xC0000005:Accessviolationreadinglocation0x00000000.'Jni.exe'(Win32):Loaded'C:\Windows\SysWOW64\sh

c++ - JNI_CreateJavaVM : Buffer overrun if I throw an exception in case of failure

在C++项目中,我使用JNI调用API来启动JVM。我已经围绕JVM做了一些包装,因此我可以以面向对象的方式使用所有需要的部分。到目前为止效果很好。现在,如果JVM没有启动(JNI_CreateJavaVM返回值JNI_CreateJavaVM之后抛出异常,我遇到缓冲区溢出。如果我在没有JNI_CreateJavaVM调用的情况下引发异常,它会按预期工作。有人知道这里的问题是什么吗?或者如何调试?环境:Windows、VisualStudio2008JDK:jrockit27.6jdk16005,但也发生在SUNstockone上干杯多米尼克 最佳答案

java - JNI_CreateJavaVM() 每次我运行我的应用程序时都会失败(确切地说)

我有一个WindowsMFC应用程序:(1)加载JVM(JNI_CreateJavaVM())(2)将主线程附加到JVM(AttachCurrentThread())(3)加载一些Java类和方法(FindClass()和GetMethodID()/GetStaticMethodID())(4)注册一些本地回调以供Java代码使用(RegisterNatives())(5)从JVM中分离线程(DetachCurrentThread())(6)销毁JVM(DestroyJavaVM())所有上述功能每隔一段时间我运行该应用程序。我知道它们成功了,因为除了上述之外,我与应用程序交互并成功调

linux - Linux 上的 JNI_CreateJavaVM 会破坏堆栈?

这发生在带有64位应用程序的linux2.6.18-238.5.1.el5上。我的进程堆栈大小是10MB。但是,在(成功)调用JNI_CreateJavaVM之后,堆栈上似乎只剩下1-2MB。如果我通过它-我会遇到内存错误,就好像我正在溢出堆栈一样。一些注意事项:如果我不创建JVM,那么我就可以访问我的整个10MB堆栈。即使调用JVM,具有相同makefile的相同测试程序在Solaris上也能正常运行测试来源:#include#include#includevoidCreateVM(JavaVM**jvm){JNIEnv*env;JavaVMInitArgsvm_args;JavaV

linux - Linux 上的 JNI_CreateJavaVM 会破坏堆栈?

这发生在带有64位应用程序的linux2.6.18-238.5.1.el5上。我的进程堆栈大小是10MB。但是,在(成功)调用JNI_CreateJavaVM之后,堆栈上似乎只剩下1-2MB。如果我通过它-我会遇到内存错误,就好像我正在溢出堆栈一样。一些注意事项:如果我不创建JVM,那么我就可以访问我的整个10MB堆栈。即使调用JVM,具有相同makefile的相同测试程序在Solaris上也能正常运行测试来源:#include#include#includevoidCreateVM(JavaVM**jvm){JNIEnv*env;JavaVMInitArgsvm_args;JavaV

java - OSX Yosemite - JVM 共享库不包含 JNI_CreateJavaVM 符号

下载了OSXYosemiteBeta3,我正在尝试运行一些基于Eclipse的IDE,即TitaniumStudio和AptanaStudio。当我尝试启动应用程序时遇到此错误消息。启动时不起作用,所以我下载了JDK1.8.0_40,仍然没有骰子。它在正确的位置查找,文件存在并且使用正确的java版本。不知道是什么问题,如有任何帮助,将不胜感激。 最佳答案 从Apple下载适用于OSX2014-001的最新Java版本。http://support.apple.com/kb/DL1572?viewlocale=en_US&local

java - OSX Yosemite - JVM 共享库不包含 JNI_CreateJavaVM 符号

下载了OSXYosemiteBeta3,我正在尝试运行一些基于Eclipse的IDE,即TitaniumStudio和AptanaStudio。当我尝试启动应用程序时遇到此错误消息。启动时不起作用,所以我下载了JDK1.8.0_40,仍然没有骰子。它在正确的位置查找,文件存在并且使用正确的java版本。不知道是什么问题,如有任何帮助,将不胜感激。 最佳答案 从Apple下载适用于OSX2014-001的最新Java版本。http://support.apple.com/kb/DL1572?viewlocale=en_US&local
12