As we can see from the previous section, we can run a Java application and the 'jdb' debugger separately in shared memory mode. But this requires that the Java application and the 'jdb' debugger must be running on the same machine.
If you have a large application that you need to run a big server machine, you can debug that application by running the 'jdb' debugger on your own desktop machine using the socket debugging communication mode as presented in the previous section.
Let's try it now. Open a command window on a windows system and run:
C:\herong>java -agentlib:jdwp=transport=dt_socket, address=localhost:8888,server=y,suspend=y Hello Listening for transport dt_socket at address: 8888
The target application is launched in "socket server" mode. Its execution is suspended. Now open another command window and run:
C:\herong>jdb -connect com.sun.jdi.SocketAttach:hostname=localhost, port=8888 Set uncaught java.lang.Throwable Set deferred uncaught java.lang.Throwable Initializing jdb ... > VM Started: No frames on the current call stack main[1] stop in Hello.main Deferring breakpoint Hello.main. It will be set after the class is loaded. main[1] cont > Set deferred breakpoint Hello.main Breakpoint hit: "thread=main", Hello.main(), line=3 bci=0 3 System.out.println("Hello world!"); main[1] quite
Cool. I know how to run "jdb" to debug an application running on a remote machine now!
However, the command suggested in the JPDA documentation did not work:
C:\herong>jdb -attach localhost:8888 java.io.IOException: shmemBase_attach failed: The system cannot find the file specified at com.sun.tools.jdi.SharedMemoryTransportService.attach0(... ...
My guess is that the Windows version of "jdb" assumes "shared memory" as the default transport mode.
相关推荐
"lixia改进版本propero javardp"是一个针对原始 Propero Java Remote Debug Protocol (javardp) 进行优化和增强的项目。 Propero 是一个轻量级的远程调试协议,它允许开发者对 Java 应用程序进行远程调试,而无需...
- 在启动远程服务时,同时启用 Jrebel 热部署和远程 Debug 参数,如:`java -agentpath:./lib/libjrebel64.so -Drebel.remoting_plugin=true -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=...
java查看sun包源码 Java 远程debug 一、remote debug 何为远程debug呢?通常我们在开发过程中,都会将代码部署到服务中,这个时候QA 提出了一个bug,通过查看代码的逻辑发现问题十分的困难?一般情况下都是想着本地能...
同时还会将 dcevm.jar 文件添加到 Java 的扩展目录下。 使用 DCEVM 可以实现热部署,提高开发效率,从而提高产品的质量和可靠性。DCEVM 是一个非常有用的工具,能够帮助开发者更好地 Debug 代码。 知识点: * ...
【Applet Debug】是指在开发Java Applet时进行远程调试的技术。Applet是一种小型的Java程序,可以在Web浏览器中运行,但开发过程中可能会遇到各种问题,此时就需要进行调试。远程调试使得开发者能够在本地环境中对...
标题“tomcat_remote_debug.rar”暗示了这个压缩包可能包含了有关如何远程调试Apache Tomcat服务器的资源。Apache Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web部分,如Servlet和JSP规范。...
在"Run/Debug Configurations"中,选择"Remote"类型,配置相应的端口和协议,然后在服务器启动时启用远程调试。 2. **远程调试**: - 对于远程服务器上的WAR应用,你需要在Web服务器的启动参数中添加远程调试选项...
- **新建远程Java应用配置**:在Eclipse中,选择`Run` -> `Debug Configurations`,然后在左侧窗格中选择`Remote Java Application`,点击`New launch Configuration`。 - **配置连接信息**:在`Connection`选项卡...
例如,在Eclipse中,选择`Run > Debug Configurations...`,然后添加一个`Remote Java Application`配置。 - 在配置中,填写`Project`(你的项目名称),`Host`(WebLogic Server所在的机器IP地址),以及`Port`...
- 选择`Run` -> `Debug...`,然后点击"+"图标,选择`Remote`,输入连接名称,不需要修改默认的端口(5005)。点击`Apply`和`OK`。 4. **开始调试**: - 当Spring Boot应用在debug模式下启动并监听到5005端口后,...
5. **切换到 Debugger 标签页**,勾选 `Remote Java Application`,并填写远程调试的服务器地址和端口号(这里应为 `localhost:5005`)。 6. **点击 Apply** 保存配置,然后点击 Run 开始调试。 #### 三、调试过程 ...
1. **创建远程debug配置**:在Eclipse中,选择`Run` -> `Debug Configurations`,然后在左侧树形菜单中选择`Remote Java Application`,点击右侧的`New launch configuration`按钮。 2. **配置连接信息**:在新打开...
"java-debug-practice"可能是一个项目或教程,专注于提升开发者在Java环境中的调试能力。虽然标签显示为"CSS",但考虑到标题和描述,我们将主要关注Java调试方面的知识。 1. **Java Debugging Overview**: 调试是找...
若需调试远程应用服务器上的J2EE项目,还需配置Remote Java Application,指定服务器地址和端口,以便Eclipse连接并调试。 调试J2EE项目时,注意Web服务、Servlet、EJB等组件的调试。在Eclipse中,你需要先启动...
- 在`Debug Configurations`中创建的`Remote Java Application`配置,需正确选择连接类型,通常是`Standard (socket attach)`,并提供正确的服务器IP和端口号。 通过以上步骤,开发者可以在本地Eclipse环境中高效...
本文将详细讲解如何使用Eclipse这一流行的Java集成开发环境(IDE)进行远程Debug。Eclipse远程Debug功能允许开发者对运行在另一台机器上的应用程序进行调试,这对于分布式系统或者服务器端应用的调试尤其有用。 ...
- 在左侧的树形结构中,选择`Remote Java Application`并点击右侧的`New Launch Configuration`按钮创建新的配置。 - 在`Project`一栏,选择你的项目(如果与TongWeb有关联的话)。 - 在`Connection`部分,输入...
在Eclipse中,选择"Run" > "Debug Configurations...",在左侧树形结构中选择"Remote Java Application",然后点击右侧的"New Launch Configuration"按钮创建一个新的调试配置。 在新打开的窗口中,我们需要填写...
│ │ RemoteHost.java │ │ RemoteHostFactory.java │ │ RemoteUSBListener.java │ │ USBD.java │ │ USBListenerProxy.java │ │ │ ├─test │ │ ControllerUSBListener.java │ │ USBController.java ...
1. 在Tomcat服务器的`conf/server.xml`文件中,找到`<Connector>`标签,添加`remoteDebug`属性,并设置端口号,例如`remoteDebug="8000"`。 2. 在Eclipse或其他IDE中,设置远程调试配置,指定服务器地址和之前设置...