java连接到JVM以进行Python脚本生成的调试
我有一个Python代码,我用IntelliJ运行它。Python代码将执行java
命令,这将最终生成一个JVM。Python和JVM使用Py4J和自定义socket进行通信。如何使用IntelliJ连接到JVM进行调试
你可以在下面搜索框中键入要查询的问题!
我有一个Python代码,我用IntelliJ运行它。Python代码将执行java
命令,这将最终生成一个JVM。Python和JVM使用Py4J和自定义socket进行通信。如何使用IntelliJ连接到JVM进行调试
# 1 楼答案
执行java命令,该命令生成带有调试参数的JVM
即
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
然后在IDE中创建一个新的远程连接。 事实上,当您开始创建一个新的主机和端口时,它已经为您提供了参数,例如:
# 2 楼答案
我假设Python代码使用^{} 调用生成
java
命令。如果要从IDE调试它,则应在生成的JVM上启用调试(有关启用JVM调试的可能选项,请参阅this主题):在上面的代码中,生成的JVM将在端口
4000
上侦听传入的调试器连接。现在,您可以使用InteliJ remote debug configuration特性使用提供的端口连接到生成的JVM。请注意suspend=y
参数-这意味着JVM将以挂起状态启动,直到调试器连接。这将防止您错过想要调试的有趣的JVM执行部分,或者防止JVM在主线程完成后甚至在您可以启动InteliJ远程调试会话之前退出的情况