我有一个使用JNI_CreateJavaVM()函数创建JVM的C ++程序。该程序运行良好,但我希望能够在Java代码中调试事件,例如添加断点。似乎JDB调试应用程序具有-attach和-connect参数,这些参数可能能够连接到我在本机代码中创建的JVM。有没有人这样做过?可以使它工作吗?或者,是否有另一种方法来调试在本机代码中创建的JVM?
谢谢! 丹
答案 0 :(得分:2)
如果可以指定JVM的启动参数,则可以打开调试连接的端口。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9009
每个Java IDE都可以使用此协议,例如,请参阅Run->附加到Intellij IDEA中的本地进程。