将Intellij-IDEAdebugging器连接到正在运行的java进程
是否有可能将Intellij-IDEAdebugging器连接到正在运行的java进程?
是! 这是你如何设置它。
运行configuration
创build一个远程运行configuration:
- 运行 – >编辑configuration…
- 点击左上angular的“+”
- select最左侧窗格中的“远程”选项
- select一个名字(我叫我的“远程debugging”)
- 点击“确定”保存:
JVM选项
上面的configuration提供了三个只读字段。 这些选项告诉JVM在运行应用程序时打开端口5005进行远程debugging。 将相应的一个添加到正在debugging的应用程序的JVM选项中。 你可能会这样做的一种方式是:
export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
但这取决于你如何运行你的应用程序。 如果您不确定三者中的哪一个适用于您,请从第一个开始,然后沿着列表走下去,直到find可用的那个为止。
您可以将suspend=n
更改为suspend=y
以强制应用程序在启动之前等待连接IntelliJ。 如果要在应用程序启动时触发断点,这会很有帮助。
debugging
按照正常方式启动应用程序,然后在IntelliJ中select新的configuration并点击“debugging”。
IntelliJ将连接到JVM并启动远程debugging。
您现在可以通过在需要的地方向代码添加断点来debugging应用程序。 应用程序的输出仍然会出现在之前的位置,但是您的断点将在IntelliJ中打开。
这是可能的,但是当你启动你的应用程序时你必须添加一些JVM标志。
您必须添加远程debuggingconfiguration:编辑configuration – >远程。
然后,您将在显示的对话框窗口中find您必须添加到程序执行中的参数,例如:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
然后当你的应用程序启动时,你可以附加你的debugging器。 如果你想要你的应用程序等待,直到debugging器连接只是改变挂起标志为y( suspend=y
)
显然你需要在应用程序JAVA_OPTS中添加“-Xdebug”标志,如果你想在debugging模式下连接。
在AndroidStudio或想法
- configuration应用程序将被debugging,打开编辑configuration
添加“VM选项”configuration“-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005”
记住“地址”
- configuration远程debugging器如果不存在,点击+添加
指定与第1步“地址”相同的“端口”