Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 写入\内存\序列化\页中的OpenJDK分段错误_Java_C++_Segmentation Fault_Java Native Interface - Fatal编程技术网

Java 写入\内存\序列化\页中的OpenJDK分段错误

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/JNI/C++编写的代码。我想肯定有某种库不兼容,但我还没有弄清楚是什么。在通过C++(GDB)时,我得到以下SEG错误:

似乎是由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
运行是否会产生任何有用的信息?添加了该标志。请参见编辑。