zoukankan      html  css  js  c++  java
  • 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'

  • 相关阅读:
    创建字典的方法
    python中,a=10.0 b=10.0 a is b 为什么输出是false
    Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
    二十三种设计模式及其python实现
    python字符串替换的2种方法
    数据库索引的实现原理?
    异步IO数据库队列缓存RabbitMQ队列
    Python 如何用列表实现栈和队列?
    Python数据结构与算法?
    django -----原生SQL语句查询与前端数据传递?
  • 原文地址:https://www.cnblogs.com/jpit/p/8444923.html
Copyright © 2011-2022 走看看