gpt4 book ai didi

java - 同时调试python和Java

转载 作者:行者123 更新时间:2023-12-04 05:31:40 24 4
gpt4 key购买 nike

我正在使用 Python 来调用我的许多 Java 程序。是否可以对 Python 和 Java 使用调试透视图并同时跟踪两种语言的进度?谢谢

最佳答案

我下载了两个不同的 Eclipse,一个用于 JavaSE,一个用于 PyDev。 Python 脚本以远程 Debug模式启动 JVM,然后另一个 Eclipse 实例通过远程调试连接到该 JVM。这样,即使在两个不同的 IDE 中,您也可以调试 Python 和 Java 代码(我不知道这是否可以在同一个实例中完成,即两个调试 session 是否可以存在于同一个 Eclipse 实例中,但是我不在乎,因为我为 Python、Java、Scala、Android 使用了不同的 Eclipse 实例……)

创建以下 Java 程序并导出一个可运行的 JAR,例如在位置 /home/raffaele/hello.jar , 并在 System.out.println() 行设置断点

public class HelloWorld {

public static void main(String[] args) {
for (int i = 0; i < 10; i++)
System.out.println(i);
}

}

创建一个 Python 脚本,在 print i 行添加断点并点击调试为 Python 脚本。子流程输出应该被重定向到 Eclipse 控制台,您应该看到消息 在地址监听传输 dt_socket:8000

import subprocess

subprocess.call(["java", "-jar", "-Xdebug",
"-Xrunjdwp:transport=dt_socket,address=8000,server=y",
"/home/raffaele/hello.jar"])

for i in range(1, 10):
print i

此时,在JavaSE Eclipse实例中,创建一个Remote Debug配置:Run > Debug Configuration,在左边栏选择Remote Java Application,在右边选择一个名字,host localhost , 运输 socket端口 8000 .点击应用,然后调试。 JavaSE 实例中的 Debug 透视图将打开,您将看到您的代码在 System.out.println 处暂停。 .在右侧 Pane 中,您可以检查局部变量,例如 i = 0 .点击 Resume 10 次,PyDev 实例会闪烁,因为 Python 断点已被命中。

关于java - 同时调试python和Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12493870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com