我有一个 C++ 程序,它使用 JNI_CreateJavaVM() 函数创建 JVM。该程序运行良好,但我希望能够调试 Java 代码中的事件,例如添加断点。 JDB 调试应用程序似乎具有 -attach 和 -connect 参数,这些参数可能能够连接到我在 native 代码中创建的 JVM。有人这样做过吗?可以让它发挥作用吗?或者,是否有其他方法可以调试以 native 代码创建的 JVM?
谢谢! 丹
最佳答案
如果您可以指定 JVM 的启动参数,则可以打开调试连接端口。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9009
每个 Java IDE 都可以使用此协议(protocol),例如,请参阅 Intellij IDEA 中的“运行”->“附加到本地进程”。
关于java - 我可以通过 JNI 调试以 native 代码创建的 JVM 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45338943/