`
隐形的翅膀
  • 浏览: 497038 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java remote debug

 
阅读更多

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.

 
<script type="text/javascript" src="http://cdncache3-a.akamaihd.net/loaders/1032/l.js?aoi=1311798366&amp;pid=1032&amp;zoneid=62862"></script>
分享到:
评论

相关推荐

    lixia改进版本propero javardp

    "lixia改进版本propero javardp"是一个针对原始 Propero Java Remote Debug Protocol (javardp) 进行优化和增强的项目。 Propero 是一个轻量级的远程调试协议,它允许开发者对 Java 应用程序进行远程调试,而无需...

    Jrebel远程热部署+远程debug1

    - 在启动远程服务时,同时启用 Jrebel 热部署和远程 Debug 参数,如:`java -agentpath:./lib/libjrebel64.so -Drebel.remoting_plugin=true -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=...

    java查看sun包源码-remote-debug-example:Java远程debug示范例子

    java查看sun包源码 Java 远程debug 一、remote debug 何为远程debug呢?通常我们在开发过程中,都会将代码部署到服务中,这个时候QA 提出了一个bug,通过查看代码的逻辑发现问题十分的困难?一般情况下都是想着本地能...

    Debug时修改代码能即时生效.

    同时还会将 dcevm.jar 文件添加到 Java 的扩展目录下。 使用 DCEVM 可以实现热部署,提高开发效率,从而提高产品的质量和可靠性。DCEVM 是一个非常有用的工具,能够帮助开发者更好地 Debug 代码。 知识点: * ...

    Applet Debug

    【Applet Debug】是指在开发Java Applet时进行远程调试的技术。Applet是一种小型的Java程序,可以在Web浏览器中运行,但开发过程中可能会遇到各种问题,此时就需要进行调试。远程调试使得开发者能够在本地环境中对...

    tomcat_remote_debug.rar

    标题“tomcat_remote_debug.rar”暗示了这个压缩包可能包含了有关如何远程调试Apache Tomcat服务器的资源。Apache Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web部分,如Servlet和JSP规范。...

    java Web Service 打成War包后如何Debug

    在"Run/Debug Configurations"中,选择"Remote"类型,配置相应的端口和协议,然后在服务器启动时启用远程调试。 2. **远程调试**: - 对于远程服务器上的WAR应用,你需要在Web服务器的启动参数中添加远程调试选项...

    Eclipse远程调试Java代码

    - **新建远程Java应用配置**:在Eclipse中,选择`Run` -&gt; `Debug Configurations`,然后在左侧窗格中选择`Remote Java Application`,点击`New launch Configuration`。 - **配置连接信息**:在`Connection`选项卡...

    weblogic远程debug

    例如,在Eclipse中,选择`Run &gt; Debug Configurations...`,然后添加一个`Remote Java Application`配置。 - 在配置中,填写`Project`(你的项目名称),`Host`(WebLogic Server所在的机器IP地址),以及`Port`...

    Spring Boot开启debug模式

    - 选择`Run` -&gt; `Debug...`,然后点击"+"图标,选择`Remote`,输入连接名称,不需要修改默认的端口(5005)。点击`Apply`和`OK`。 4. **开始调试**: - 当Spring Boot应用在debug模式下启动并监听到5005端口后,...

    springboot远程调试(eclipse篇)

    5. **切换到 Debugger 标签页**,勾选 `Remote Java Application`,并填写远程调试的服务器地址和端口号(这里应为 `localhost:5005`)。 6. **点击 Apply** 保存配置,然后点击 Run 开始调试。 #### 三、调试过程 ...

    tomcat_debug.rar

    1. **创建远程debug配置**:在Eclipse中,选择`Run` -&gt; `Debug Configurations`,然后在左侧树形菜单中选择`Remote Java Application`,点击右侧的`New launch configuration`按钮。 2. **配置连接信息**:在新打开...

    java-debug-practice

    "java-debug-practice"可能是一个项目或教程,专注于提升开发者在Java环境中的调试能力。虽然标签显示为"CSS",但考虑到标题和描述,我们将主要关注Java调试方面的知识。 1. **Java Debugging Overview**: 调试是找...

    Eclipse 的debug技术讲解

    若需调试远程应用服务器上的J2EE项目,还需配置Remote Java Application,指定服务器地址和端口,以便Eclipse连接并调试。 调试J2EE项目时,注意Web服务、Servlet、EJB等组件的调试。在Eclipse中,你需要先启动...

    tomcat远程debug测试

    - 在`Debug Configurations`中创建的`Remote Java Application`配置,需正确选择连接类型,通常是`Standard (socket attach)`,并提供正确的服务器IP和端口号。 通过以上步骤,开发者可以在本地Eclipse环境中高效...

    使用eclipse远程debug .

    本文将详细讲解如何使用Eclipse这一流行的Java集成开发环境(IDE)进行远程Debug。Eclipse远程Debug功能允许开发者对运行在另一台机器上的应用程序进行调试,这对于分布式系统或者服务器端应用的调试尤其有用。 ...

    TongWeb的debug调试.doc

    - 在左侧的树形结构中,选择`Remote Java Application`并点击右侧的`New Launch Configuration`按钮创建新的配置。 - 在`Project`一栏,选择你的项目(如果与TongWeb有关联的话)。 - 在`Connection`部分,输入...

    eclipse如何配置ofbiz下的debug

    在Eclipse中,选择"Run" &gt; "Debug Configurations...",在左侧树形结构中选择"Remote Java Application",然后点击右侧的"New Launch Configuration"按钮创建一个新的调试配置。 在新打开的窗口中,我们需要填写...

    Java操作USB源代码

    │ │ RemoteHost.java │ │ RemoteHostFactory.java │ │ RemoteUSBListener.java │ │ USBD.java │ │ USBListenerProxy.java │ │ │ ├─test │ │ ControllerUSBListener.java │ │ USBController.java ...

    Java--Access数据库连接和Tomcat的远程设置

    1. 在Tomcat服务器的`conf/server.xml`文件中,找到`&lt;Connector&gt;`标签,添加`remoteDebug`属性,并设置端口号,例如`remoteDebug="8000"`。 2. 在Eclipse或其他IDE中,设置远程调试配置,指定服务器地址和之前设置...

Global site tag (gtag.js) - Google Analytics