如何从netbeans远程调试jar

时间:2014-07-02 16:57:32

标签: java mysql netbeans remote-debugging executable-jar

我正在试图弄清楚如何调试远程运行的jar。这是我的情景:

  • 我的.jar将从VPS运行。这个jar基本上运行一个服务器 对于游戏,所以它也连接到一个mysql数据库。我用3个.bat文件启动服务器,看起来像这样:

    设置CLASSPATH =。; dist \ aries.jar; dist \ mina-core.jar; dist \ slf4j-api.jar; dist \ slf4j-jdk14.jar; dist \ mysql-connector-java-bin.jar < / p>

    java -Xmx500m -Dwzpath = wz \ -Djavax.net.ssl.keyStore = filename.keystore -Djavax.net.ssl.keyStorePassword = passwd -Djavax.net.ssl.trustStore = filename.keystore -Djavax.net。 ssl.trustStorePassword = passwd net.world.WorldServer

    暂停

我想要做的是像正常一样在vps上启动服务器,但是通过Netbeans IDE在本地计算机上调试服务器。我不知道这是否可能,因为人们将连接到服务器(虽然,我将调试一个只有我在线的测试服务器)。

注意:在来到这里之前我做了很多搜索,我发现很多与使用xdebug&amp; php与我的情况没什么关系(我不认为)

-Thanks

1 个答案:

答案 0 :(得分:4)

关于此问题NetBeans FAQ page

简而言之:

将远程调试选项添加到Java命令中。例如:

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

然后,使用NetBeans中的attach debugger选项并选择您上面使用的服务器和端口(8888)。它非常简单。

您可能需要考虑网络和防火墙注意事项,因为您可能已经注意到没有涉及密码,因此任何可以连接到端口的人都可以调试您的应用。这可能是一个很大的安全风险。您的VPS提供商可能有一些工具可以帮助您建立安全的专用连接。