Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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
如何将调试器附加到jvm.dll执行的java程序? 我有一个用C++编写的Windows可执行文件。它将libJVM作为共享库加载,然后通过JNI执行java程序。 我想用EclipseIDE调试那个java程序。我该怎么做?作为最后的手段,我甚至可以修改C++程序。< P>我认为你需要添加调试参数到由你的C++代码创建的JavaVM实例。_Java_Jvm - Fatal编程技术网

如何将调试器附加到jvm.dll执行的java程序? 我有一个用C++编写的Windows可执行文件。它将libJVM作为共享库加载,然后通过JNI执行java程序。 我想用EclipseIDE调试那个java程序。我该怎么做?作为最后的手段,我甚至可以修改C++程序。< P>我认为你需要添加调试参数到由你的C++代码创建的JavaVM实例。

如何将调试器附加到jvm.dll执行的java程序? 我有一个用C++编写的Windows可执行文件。它将libJVM作为共享库加载,然后通过JNI执行java程序。 我想用EclipseIDE调试那个java程序。我该怎么做?作为最后的手段,我甚至可以修改C++程序。< P>我认为你需要添加调试参数到由你的C++代码创建的JavaVM实例。,java,jvm,Java,Jvm,Eclipse本机启动器代码可以启发您的工作。查看启动器的外观并检查startJavaJNI函数(第305行)。有指向库的路径libPath和参数vmArgs。我假设vmArgs可以包含通常的-Xrunjdwp:transport=dt_socket、server=y、suspend=n、address=4242字符串以及其他选项 您需要将其转换为JavaVMInitArgs中的附加JavaVMOption元素。您需要在调试模式下启动JVM,并指定可以连接的端口。Eclipse应该帮助您提供实现

Eclipse本机启动器代码可以启发您的工作。查看启动器的外观并检查
startJavaJNI
函数(第305行)。有指向库的路径
libPath
和参数
vmArgs
。我假设
vmArgs
可以包含通常的
-Xrunjdwp:transport=dt_socket、server=y、suspend=n、address=4242
字符串以及其他选项


您需要将其转换为
JavaVMInitArgs
中的附加
JavaVMOption
元素。您需要在调试模式下启动JVM,并指定可以连接的端口。Eclipse应该帮助您提供实现这一点所需的命令行选项。我强烈建议您也可以使用一个没有C++的JVM,如果只是为了测试的目的,是否需要从C++程序开始远程调试?为什么不直接在Eclipse中运行java程序,而C++程序则传入传入的参数呢?