Tag: 远程调试

如何在我使用JDWP远程调试的JVM中运行自己的java代码?

作为一名渗透测试人员,我遇到了一个开放的JDWP端口。 我可以使用Eclipse连接它并浏览线程和内存,但我没有应用程序的源代码。 我想注入我自己的Java代码,也许作为exception处理程序,以便返回一个shell。 如何通过JDWP修改正在运行/挂起的Java应用程序,最好使用Eclipse作为我的调试器?

java远程调试Tomcat app:为什么JVM不能监听?

我想远程调试在Tomcat 7中运行的应用程序.Tomcat作为Win2008服务器上的服务运行。 我将以下内容添加到Tomcat的Java配置面板中的Java选项: -Xdebug -Xrunjdwp:transport=dt_socket,address=4711,server=y,suspend=n并在我的工作站和此端口的服务器上打开防火墙。 但是当我尝试在我的工作站上从IntelliJ 9进行调试时,我收到一条错误消息Unable to open debugger port : java.net.ConnectException “Connection timed out: connect” 。 jvm是备用的Sun / Oracle 64位JVM版本1.6.0_27。 我通过访问部署到Tomcat的应用程序中的ManagementFactory.getRuntimeMXBean().getInputArguments()并将结果记录到日志文件来validation命令行参数正在使用中。 我通过Wireshark在我的工作站和服务器上validation了端口4711上的TCP请求是从我的电脑发送到服务器的,但是没有答案。 在服务器上运行netstat -a不会显示侦听此端口的进程。 所以我假设Tomcat / JVM不会启动远程调试。

如何在我的eclipse中调试远程应用程序

我从我的eclipse外面运行我的服务器,现在我想调试它。 有可能吗? 如果是,我该怎么办呢。

在远程计算机上运行Eclipse项目

我一直在使用Eclipse从我的本地机器上开发Java项目。 我试图在远程计算机上运行它。 远程计算机是在Linux上运行的集群。 现在我已经安装了远程驱动器并通过Eclipse编辑远程文件副本。 但是,我看起来更健壮。 有没有办法通过Eclipse无缝地执行此操作,即每次运行项目时,它都在远程计算机上运行?

远程调试:无法连接到远程VM。 连接超时

我在我的Ubuntu VM上使用Eclipse进行远程调试到远程WebLogic应用程序,然后它停止工作。 我在远程服务器上打开了调试。 从我的VM我可以远程登录到远程调试端口。 我尝试重新启动Eclipse并将网络连接设置为Direct。 它只是暂时超时。 Failed to connect to remote VM. Connection timed out. org.eclipse.jdi.TimeoutException 在.log中: !MESSAGE Failed to connect to remote VM. Connection timed out. !STACK 0 org.eclipse.jdi.TimeoutException at org.eclipse.jdi.internal.connect.SocketTransportService.attach(SocketTransportService.java:162) at org.eclipse.jdi.internal.connect.SocketTransportImpl.attach(SocketTransportImpl.java:45) at org.eclipse.jdi.internal.connect.SocketAttachingConnectorImpl.attach(SocketAttachingConnectorImpl.java:134) at org.eclipse.jdt.internal.launching.SocketAttachConnector.connect(SocketAttachConnector.java:141) at org.eclipse.jdt.internal.launching.JavaRemoteApplicationLaunchConfigurationDelegate.launch(JavaRemoteApplicationLaunchConfigurationDelegate.java:84) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739) at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039) at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

使用Intellij在远程服务器上部署/调试Java代码

我想在远程服务器上运行我的java代码以获得更快的速度(服务器非常强大)。 我想要的是将我的Intellij连接到该远程服务器并运行我的代码。 但我仍想在我的本地机器(即我的笔记本电脑)上使用IntelliJ。 我在IntelliJ中找到了一个配置部分,它在Default Setting->Build-executation-deployment-> Deployment ,我可以设置远程服务器的地址和用户名和密码。 但我不知道接下来该做什么。

如何在调试时处理ClassNotLoadedException?

所以我(远程)调试Eclipse中的java / jboss应用程序,逐行执行。 有一次,一个GridSquare对象数组( GridSquare是一个相当简单的独立类,包含一些属性和方法)是由方法调用创建的,即: GridSquare[] squares = this.theGrid.getSquares(14, 18, 220, 222); …当我实际执行代码时, GridSquare数组确实填充了GridSquare对象,在单步执行代码和调试时,我得到了一些奇怪的东西。 在紧跟上面显示的赋值之后的行上的断点处,如果我尝试查看squares数组,而不是值,我得到: org.eclipse.debug.core.DebugException: com.sun.jdi.ClassNotLoadedException: Type has not been loaded occurred while retrieving component type of array. ……任何人都知道那是什么意思?