• jar debug


    java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar

    Java远程调试
    -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=3999,suspend=n

    -XDebug 启用调试。
    -Xnoagent 禁用默认sun.tools.debug调试器。
    -Djava.compiler=NONE 禁止 JIT 编译器的加载。
    -Xrunjdwp 加载JDWP的JPDA参考执行实例。
    transport 用于在调试程序和 VM 使用的进程之间通讯。
    dt_socket 套接字传输。
    dt_shmem 共享内存传输,仅限于 Windows。
    server=y/n VM 是否需要作为调试服务器执行。
    address=3999 调试服务器的端口号,客户端用来连接服务器的端口号。
    suspend=y/n 是否在调试客户端建立连接之后启动 VM 。

    Resin:
    RESIN_HOMEinhttpd.exe -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n

    Tomcat:
    在catalina.sh/bat 的最上面加上:SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 即可。

    Weblogic:
    在startWebLogic.bat加上:set JAVA_OPTIONS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

    启动App server后,在ide下通过debug remote java application并侦听相应的debug端口

    Eclipse Rcp:

    java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,suspend=y,server=y,address=8000 -cp F:/rcp/plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar org.eclipse.equinox.launcher.Main -application rcp.application -data F:/rcp/workspace -os win32 -ws win32 -arch x86 -nl en_US

    -Xdebug -Xnoagent等参数需要放在main class前面

    使用JDB调试
    jdb -connect com.sun.jdi.SocketAttach:port=8000,hostname=127.0.0.1
    C:Program FilesJavajdk1.8.0_144in> .jdb.exe -connect 'com.sun.jdi.SocketAttach:port=8000,hostname=127.0.0.1'

  • 相关阅读:
    解决CentOS java环境不生效的问题
    大数据学习 概念篇
    java实用技能 上传文件 等等
    ubuntu hadoop伪分布式部署
    list去重
    fastjson生成JSON字符串的时候出现$ref
    《Swift by Tutorials》学习笔记(第二章)
    《Swift by Tutorials》学习笔记(第一章)
    《JavaScript高级程序设计》学习笔记(第七章)
    《JavaScript高级程序设计》学习笔记(第五章)- 下
  • 原文地址:https://www.cnblogs.com/jpit/p/8444923.html
Copyright © 2020-2023  润新知