我目前正致力于将VS2013的多线程服务器应用程序迁移到VS2017。端口很简单,但是我在使用JNI时遇到了一个奇怪的问题。
我们动态加载jvm.dll,然后为JNI_CreateJavaVM执行GetProcAddress;这段代码在VS2013中运行稳健,但在VS2017中,我无法在没有报告null ptr异常的情况下跳过对create JVM函数的调用。
多么奇怪的是,如果我接着继续下一个断点,我发现我创建JVM的调用已成功,然后我可以继续调用JNI函数来创建类等。
任何人都得到了补救措施 - 这是一个众所周知的问题吗?
答案 0 :(得分:0)
在VS2017转到
例外设置 - (Ctrl + Alt + E)
并在Win32例外中勾选0xc0000005 Access violation
。
JVM在启动检查操作系统功能时会生成上述异常。所以你可以忽略它并继续前进。