我有一个用 C++ 编写的 Windows 可执行文件。它加载libJVM作为共享库,然后通过JNI执行java程序。 我想使用 Eclipse IDE 调试该 java 程序。我怎样才能做到这一点?作为最后的手段,我什至可以修改C++程序。
最佳答案
我认为您需要将调试参数添加到由 C++ 代码创建的 JavaVM 实例。
Eclipse native 启动器代码可以激发您的工作。看看Windows version启动器并检查 startJavaJNI 函数(第 305 行)。有库 libPath
的路径和参数 vmArgs
。我认为 vmArgs
可以包含常用的 -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4242
字符串以及其他选项。
您需要将其转换为 JavaVMInitArgs
中的附加 JavaVMOption
元素。
关于java - 如何将调试器附加到 jvm.dll 执行的 java 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40389120/