当在 Intellij 中使用远程调试功能时,有时会出现“Attaching debugger to process”的错误,错误信息是“Access denied error for Attaching debugger to process”。主要解决方法是确保远程调试的用户有足够的访问权限。
以下是一个示例,其中可以使用 SSH 和 JRebel 远程调试一个 Java 应用程序:
1.首先,确保在远程系统上运行了 SSH 服务器,并将其配置为允许与 Intellij 连接。
2.在 Intellij 中,启动要远程调试的 Java 应用程序,然后进入“Run/Debug Configurations”对话框。
3.创建一个新的“Remote”运行配置,并指定要调试的主机和端口号。还要指定您将使用的用户名和密码或 SSH 密钥对。
4.在“Server”选项卡中,启用 JRebel。
5.启动远程 JVM 时,使用以下命令行参数:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:5005 -Drebel.remoting_plugin=true -Drebel.remoting_port=9000 -agentpath:/usr/local/share/jvm/jrebel/lib/libjrebel64.so
6.在主机上开启防火墙以允许进入端口5005的TCP流量。
7.重启远程 JVM 并启动 Intellij 中的运行配置,接下来就可以开始远程调试了。
8.如果你遇到了“Access denied error for Attaching debugger to process”的错误,尝试使用超级用户或具有足够权限的用户重新执行步骤2-7。
9.最后,确保您已更新 Intellij 和所使用的所有相应插件到最新版本,以确保最佳的远程调试性能和兼容性。