Java 写入\内存\序列化\页中的OpenJDK分段错误
我正在尝试调试用Java/JNI/C++编写的代码。我想肯定有某种库不兼容,但我还没有弄清楚是什么。在通过C++(GDB)时,我得到以下SEG错误:Java 写入\内存\序列化\页中的OpenJDK分段错误,java,c++,segmentation-fault,java-native-interface,Java,C++,Segmentation Fault,Java Native Interface,我正在尝试调试用Java/JNI/C++编写的代码。我想肯定有某种库不兼容,但我还没有弄清楚是什么。在通过C++(GDB)时,我得到以下SEG错误: 似乎是由java线程之一引起的,而不是C++调用的。不幸的是,我没有成功地找到它。是否存在导致这种情况的已知不兼容或编码错误?如果没有其他问题,有什么建议可以找到这个bug吗 我曾经让eclipse调试器和gdb同时连接,这样我就可以逐步完成各自的代码段。不幸的是,这似乎有时是不稳定的。我最终会从gdb继续,但似乎控制权从未传递回java。所以,
似乎是由java线程之一引起的,而不是C++调用的。不幸的是,我没有成功地找到它。是否存在导致这种情况的已知不兼容或编码错误?如果没有其他问题,有什么建议可以找到这个bug吗
我曾经让eclipse调试器和gdb同时连接,这样我就可以逐步完成各自的代码段。不幸的是,这似乎有时是不稳定的。我最终会从gdb继续,但似乎控制权从未传递回java。所以,它一直挂着,直到我杀死了进程树 Edit:如果我连接了两个调试器,并且只给gdb continue命令,我就可以通过java逐步实现这一点: 其中: lusCodebase=file:./jini/jsk-dl.jar文件:./jini/reggie-dl.jar文件:./jini/jsk-dl.jar lusPolicy指向一个包含以下内容的文件:grant{permission java.security.AllPermission“”;} lustClasspath=jini/reggie.jar:jini/jini-ext.jar:jini/jsk lib.jar:jini/jsk-platform.jar 跨过线路130后,seg故障出现在gdb中,并显示“切换到线程”消息 添加了-Xcheck:jni后,我看到许多类似这样的警告:然而,当seg故障出现时,我没有收到任何警告。在弹出的所有警告中,我只看到对我的应用程序代码的几处引用,它们与GUI的一些小部分相关,这对我在测试中看到的失败不会有任何影响。使用
-Xcheck:jni
运行是否会产生任何有用的信息?添加了该标志。请参见编辑。