我们有一些使用以下代码启动新进程的 Java 代码:Runtime.getRuntime().exec(command);
我希望能够告诉调试器它应该遵循子进程,就像您可以通过发出命令对 GDB 所做的那样,如此处所述。set follow-fork-mode child
IntelliJ IDEA Java 调试器中是否有等效的东西?如果是这样,我该如何配置它?
谢谢
我们有一些使用以下代码启动新进程的 Java 代码:Runtime.getRuntime().exec(command);
我希望能够告诉调试器它应该遵循子进程,就像您可以通过发出命令对 GDB 所做的那样,如此处所述。set follow-fork-mode child
IntelliJ IDEA Java 调试器中是否有等效的东西?如果是这样,我该如何配置它?
谢谢
Java 不提供调试进程及其子进程的自动化方法。需要使用 JVM 选项运行子进程以启用调试。IDEA远程调试配置将建议使用正确的选项。使用适当的选项启动该过程后,您可以使用远程调试配置从 IDEA 连接到它。
示例选项:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
您可能希望首先suspend=y
暂停执行,直到您连接到调试器。
我们现在有了这个 Intellij 插件,它使用 java 代理在调试模式下自动启动所有子进程。
它侦听 7857 上的任何被调试进程,然后将调试器附加到这些进程。
source ~/.attachme/conf.sh
sbt start
. 以 prod 模式运行会分叉另一个 JVM 进程。调试点现在应该命中。