标签: jdwp

错误:JDWP无法获得JNI 1.2环境

我在Eclipse中调试后得到此错误.但调试成功了.

ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183):  [../../../src/share/back/util.c:820]
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

java eclipse jdwp

72
推荐指数
3
解决办法
9万
查看次数

JDWP退出错误AGENT_ERROR_TRANSPORT_INIT(197):没有传输初始化[../../../src/share/back/debugInit.c:690]

我一直试图用JRebel运行这个配置:

在此输入图像描述

在此输入图像描述

这是我的输出:

c:\JBOSS\jboss-portal-2.7.2\bin\run.bat -c default

c:\JBOSS\jboss-portal-2.7.2\bin>set JAVA_OPTS=-Dhttp.proxyHost=188.173.32.78 -Dhttp.proxyPort=3128 -DproxySet=true 
===============================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: c:\JBOSS\jboss-portal-2.7.2

  JAVA: C:\Program Files\Java\jdk1.6.0_25\bin\java

  JAVA_OPTS: -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n -Dhttp.proxyHost=188.173.32.78 -Dhttp.proxyPort=3128 -DproxySet=true -Dprogram.name=run.bat -server -Xms256m -Xmx512m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000

  CLASSPATH: C:\Program Files\Java\jdk1.6.0_25\lib\tools.jar;c:\JBOSS\jboss-portal-2.7.2\bin\run.jar

===============================================================================

[2012-07-16 12:32:53,968] Artifact app-ear:ear: Artifact is being deployed, please wait...
[2012-07-16 12:32:53,972] Artifact my-portlet:war: Artifact is being deployed, please wait...
Connected to server
[2012-07-16 12:32:54,007] Artifact app-ear:ear: Artifact is deployed successfully
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: transport error 202: …
Run Code Online (Sandbox Code Playgroud)

jboss intellij-idea jdwp jrebel

13
推荐指数
1
解决办法
7万
查看次数

如何调试Android应用程序从'adb shell am start -D'开始?

我需要调试已安装在手机上的Android应用程序.我能够在调试模式下启动应用程序,但我无法使用JDWP 连接到该进程.我尝试了两种不同的方法都失败了.(见以下部分)


命令行尝试

1-启动应用程序

[...]sdk\platform-tools>adb -d shell am start -D -n "package/package.SomeActivity"
Run Code Online (Sandbox Code Playgroud)

应用程序启动并显示警告"/!\ Waiting for debugger".

2-打开JDWP端口

[...]sdk\platform-tools>adb forward tcp:8000 jdwp:7602
Run Code Online (Sandbox Code Playgroud)

3-尝试使用jdb连接

[...]sdk\platform-tools>jdb -attach 127.0.0.1:8000
    java.io.IOException: shmemBase_attach failed:
        at com.sun.tools.jdi.SharedMemoryTransportService.attach0(Native Method)
        at com.sun.tools.jdi.SharedMemoryTransportService.attach(SharedMemoryTransportService.java:108)
        at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:116)
        at com.sun.tools.jdi.SharedMemoryAttachingConnector.attach(SharedMemoryAttachingConnector.java:63)
        at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:519)
        at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:328)
        at com.sun.tools.example.debug.tty.Env.init(Env.java:63)
        at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1066)
Fatal error:
Unable to attach to target VM.
Run Code Online (Sandbox Code Playgroud)

IntelliJ尝试

我已配置我的本地项目以启动默认活动并取消选中"部署应用程序".

我也使用相同的警报启动应用程序,但不幸的是IDE没有连接到远程进程.

Target device: 42f7cc14e2acbfab
Launching application: ********/********.SomeActivity.
DEVICE SHELL COMMAND: am start -D -n "********/********.SomeActivity"
Starting: Intent { cmp=********/********.SomeActivity }

Waiting for …
Run Code Online (Sandbox Code Playgroud)

debugging android jdwp

13
推荐指数
1
解决办法
2万
查看次数

Java JVMTI与-Xdebug -Xrunjdwp不兼容

我花了最后4个小时尝试在必须远程运行的Tomcat实例上设置Eclipse TPTP内存分析(即不在Eclipse中).根据TPTP和代理控制器文档,这应该是可能的.

我根据网站上的说明将TPTP组件(4.6.0)安装到我的Eclipse(Galileo)工作台以及代理控制器中.为了启用代理,我在启动Tomcat实例的命令行中添加了以下选项:

-agentlib:JPIBootLoader=JPIAgent:server=enabled;HeapProf:allocsites=true
Run Code Online (Sandbox Code Playgroud)

并将以下目录添加到PATH的前面:

D:\dev\tools\ac\plugins\org.eclipse.tptp.javaprofiler
D:\dev\tools\ac\bin
Run Code Online (Sandbox Code Playgroud)

尝试启动Tomcat时,我始终收到以下错误消息:

ERROR: JDWP unable to get necessary JVMTI capabilities. ["debugInit.c",L279]
Run Code Online (Sandbox Code Playgroud)

我做了很多谷歌搜索,但发现没有相关性; 我尝试重新安装TPTP和各种版本的代理控制器.

最后问题结果是我用"jpda"选项启动Tomcat,catalina.bat转换为

-Xdebug -Xrunjdwp:transport=.....
Run Code Online (Sandbox Code Playgroud)

删除"jpda"命令参数导致JVMTI开始工作.

所以,问题是:我在任何搜索过程中都没有发现任何内容,表明JVMTI代理与调试不兼容.有人可以解释发生了什么以及为什么JVMTI + JDWP不是有效的设置?

java debugging jdwp jvmti

12
推荐指数
1
解决办法
1万
查看次数

无法连接到Eclipse中的VM

当我尝试在Eclipse上调试我的任何项目时,我突然开始遇到这个奇怪的错误.我不记得为这个问题改变任何东西突然开始了.

'Launching <my program name>' has encountered a problem.
Cannot connect to VM.
Run Code Online (Sandbox Code Playgroud)

错误详情:

Cannot connect to VM
com.sun.jdi.connect.TransportTimeoutException
Run Code Online (Sandbox Code Playgroud)

此外,在控制台中我收到以下错误:

FATAL ERROR in native method: JDWP No transports initialized, 
jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: transport error 202: connect failed: Connection timed out
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized     
[../../../src/share/back/debugInit.c:750]
Run Code Online (Sandbox Code Playgroud)

请告诉我如何解决这个问题.我在整个网络上搜索了一个答案,但没有运气.

我尝试了以下适用于其他人的解决方案:

  1. 重启Eclipse,重启计算机.
  2. 在etc \中更改主机文件 - 删除2行之前的注释(#)符号,

    127.0.0.1 localhost

    :: 1 localhost

    并重新启动.

  3. 关闭所有防火墙,重新启动Eclipse并重试.仍然没有运气.

有人请帮帮我,我疯了.

谢谢

索萨

java eclipse debugging jdwp

11
推荐指数
3
解决办法
4万
查看次数

在 jdk 14 应用程序上启用 jdwp 会导致协议错误不支持地址系列

对于在 Linux 上运行的 JDK 14 应用程序,添加以下 JVM 参数

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005

结果出现以下错误

Starting Main...
ERROR: transport error 202: socket creation failed: Address family not supported by protocol
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [open/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c:734]
Run Code Online (Sandbox Code Playgroud)

将地址从 更改为*:5005似乎localhost:5005可行,但它仅绑定到本地主机。我知道在 JDK 12 上有效的事实*:5005,但我找不到任何与此相关的更改,事实上 JPDA 规范仍然提到了*jse 14 的选项https://docs.oracle.com/en/java/javase/14/文档/规格/jpda/conninv.html。有人知道我可以研究什么吗?这是一个错误还是一个我似乎找不到文档的功能。

java remote-debugging jdwp

8
推荐指数
1
解决办法
2919
查看次数

如何在调试模式下运行Apache Tomcat 8?

我正在尝试在调试模式下运行Apache Tomcat 8.0.21。

当我发出命令时

sh catalina.sh jpda start
Run Code Online (Sandbox Code Playgroud)

它给出了这个错误。

错误信息

错误:无法两次加载此JVM TI代理,请检查Java命令行中是否有重复的jdwp选项。VM代理库初始化期间发生错误,无法初始化:jdwp

有人可以帮忙吗?

jvm remote-debugging jpda jdwp tomcat8

7
推荐指数
3
解决办法
1万
查看次数

Java远程调试开销

我只是想知道远程调试的额外开销.我使用HotSpot使用以下参数启动应用程序:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
Run Code Online (Sandbox Code Playgroud)

我听说很多旧版本的HotSpot会对性能产生很大影响,但我的应用程序现在使用java 8,我找不到任何有关它的最新信息.

java remote-debugging jvm-hotspot jdwp

6
推荐指数
1
解决办法
962
查看次数

如何通过nginx反向代理调试远程Java应用程序

我需要调试在 nginx 反向代理后面运行的远程 java 应用程序。我收到以下错误:

无法连接到远程调试对象虚拟机。原因:java.io.IOException:收到无效握手

为了实现这一点,正确的 nginx 配置应该是什么?

我已通过直接定位应用程序的主机,成功将 vscode java 调试器附加到远程 java 应用程序。

解析器是 127.0.0.11 因为我使用的是 nginx docker 镜像。

我的 nginx 配置文件app.xyz.com.conf在 conf.d 中:

server {
    listen 1043;
    resolver 127.0.0.11 valid=30s;
    server_name app.xyz.com;
    include /etc/nginx/mime.types;
    location / {
        proxy_buffer_size 8k;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_set_header X-Real-IP $remote_addr;
        set $upstream "http://java-app:1043";
        proxy_pass $upstream;
        client_max_body_size 10M;
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

java remote-debugging nginx jdwp nginx-reverse-proxy

5
推荐指数
1
解决办法
1190
查看次数

使用JDWP和JVMTI获取正在运行的Java应用程序的信息

我们正在开发一个应用程序,用于使用JDWP和JVMTI获取正在运行的Java应用程序的信息.Sun Java附带了JDWP的参考实现,因此使用agentlib -jdwp:将使用参考实现.我们的目标是研究JVMTI并编写JVMTI代理以获取具体细节.还创建一个Front端,用户可以使用该端请求有关正在运行的Java应用程序的特定信息.为此,我们必须编写JDWP的实现.虽然我们能够编写JVMTI代理并使用它从命令行附加到java应用程序.但我们的目标是将此信息发送到另一个java进程(前端).

所以我们有一个Java应用程序 - 前端查询来自JVMTI代理(后端)的信息.这些代理应该能够附加到我们要动态检查的运行java应用程序.关于如何做到这一点的任何想法?或者之前有人试过吗?

java jpda jdwp jvmti

4
推荐指数
1
解决办法
2457
查看次数

尝试调试时出现Eclipse JDWP错误

尝试在eclipse中调试本地java应用程序时出现以下错误.

FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
Run Code Online (Sandbox Code Playgroud)

我读到它可能是由于某个eclipse想要用于调试的端口使用相同的端口引起的,但我如何确定端口号.我在错误日志或首选项中找不到任何内容.

有任何想法吗?

eclipse debugging jdwp

3
推荐指数
1
解决办法
3807
查看次数

Java远程调试——性能

如果您在通过 jdwp/socket 启用远程调试的情况下启动 java 进程并且没有外部进程连接,是否会影响性能?我确实知道当远程客户端实际调试时会有很大的影响,但是如果我只是在特定端口上声明 jdwp,那么它本身会减慢应用程序吗?任何指向文档的链接将不胜感激。

java remote-debugging jdwp

2
推荐指数
1
解决办法
1929
查看次数

使用eclipse远程调试(NOT localhost)tomcat。远程机器拒绝连接

我已经在远程计算机(不是localhost)中使用jpda选项启动了tomcat。我无法访问该端口。它抛出连接被拒绝。我能够在localhost中成功完成此操作。那为什么不从远程机器上呢?我正在使用tomcat 9.X和Ubuntu 16.04和Java 8

编辑1:JDWP端口8000仅侦听127.0.0.1。有可能改变吗? 在此处输入图片说明

java tomcat remote-debugging jdwp

0
推荐指数
1
解决办法
718
查看次数