Intellij IDEA远程调试java控制台程序

时间:2015-04-28 10:33:25

标签: java intellij-idea ssh

我有一台运行Java的远程服务器,我有SSH访问权限。 我正在本地机器上编写一个应用程序,用maven构建它。 是否可以将IDE Itellij IDEA设置为远程运行我的项目?这个想法是:构建jar,将其复制到服务器,并调试进程(或类似的东西)。

分享我需要设置的设置会很高兴。

2 个答案:

答案 0 :(得分:12)

这是我通常用来调试远程应用程序的方法。

  1. 在调试模式下运行服务器

    这可以在您运行应用程序服务器时添加此特定行

    -Xdebug -Xrunjdwp:transport=dt_socket,server=n,suspend=n,address=9999
    

    对于1.4以上的JDK,您可以使用此

    -agentlib:jdwp=transport=dt_socket,server=n,suspend=n,address=9999
    

    之后,运行您的应用程序服务器

  2. SSH隧道

    如果您正在使用ssh连接,那么我不能100%确定您可以直接访问应用程序的端口(好吧,也许有办法;))。因此,首先我们需要通过运行此命令来公开我们在第一步设置的调试端口。

    ssh -f user@personal-server.com -L 9999:personal-server.com:9999 -N
    
  3. 设置IDE

    您可以按照@SSJVegito所说的步骤进行操作,基本上是将调试器指向端口9999.在您的构思中打开调试配置,然后将带圆圈的值更改为9999.然后,快乐调试:D  debug configuration

答案 1 :(得分:1)

我认为这是可能的,我能够用我用来部署我的应用程序的本地服务器做这样的事情。由于您可以访问服务器,因此它也适用于您。

您在IntelliJ中需要做的是创建远程配置。要做到这一点,打开IntelliJ并在运行按钮(左侧)旁边,您应该有一个由向下箭头指定的配置。点击该箭头,然后点击修改配置。应该打开一个新窗口。点击左上角的 + 符号,然后选择远程。应该会出现一个新窗口。我们现在需要设置服务器用于调试的主机和端口(如果你使用的是tomcat,它通常是8000;在tomcat中,你可以通过打开catalina.bat文件来找到它。文本编辑器并查找JPDA_ADDRESS属性,该属性允许您更改端口)。为您的配置命名,然后按应用

之后,您需要在调试模式下运行您的配置。您需要从配置列表中选择它,然后按运行按钮右侧的调试按钮。

此处有更多详情:

http://blog.trifork.com/2014/07/14/how-to-remotely-debug-application-running-on-tomcat-from-within-intellij-idea/comment-page-1/

http://eclipse.org/jetty/documentation/current/debugging-with-intellij.html

http://www.javaranch.com/journal/200408/DebuggingServer-sideCode.html

我希望这会有所帮助。