问题标签 [jpda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
487 浏览

java - 学习用Java调试

我正在学习在 Netbeans 上使用 JPDA 并解决 Sphere 在线法官的Prime Generator问题。

我一直在 netbeans.org 上阅读有关 JPDA 的本教程,但没有发现它有多大帮助。

这段代码基于 starblue here提供的 Sieve of Eratostenes 实现,运行如下:

我知道 ArrayList primesList 没有被初始化,我怀疑这段代码,因为老实说,我不太明白:

我突然想到在这里使用条件断点,条件是:

但我不确定我是否能够以这种方式获得有意义的信息。这些是我得到的屏幕:

替代文字 http://img525.imageshack.us/img525/6238/breakpoints.jpg

替代文字 http://img98.imageshack.us/img98/5262/watchesz.jpg

我不知道如何从中获得有用的信息。

我的问题是:

a)我想观察素数 BitSet 的循环过程。

我怎么做?

b) 这段代码到底有什么问题? 您是如何使用调试器发现它的?

请提及分步过程。

0 投票
1 回答
291 浏览

apache-flex - 如何将 Adob​​e Air 客户端与 Java VM 调试接口连接?

我想知道是否/如何将 Adob​​e Air 应用程序连接到 Java VM 调试接口?我有一些对象驻留在服务器端,不想更改那里的代码,服务器已经允许进行远程调试。

以下是有关 JPDA 的信息: http ://www.j2ee.me/j2se/1.3/docs/guide/jpda/architecture.html

非常感谢您提前提供建议。

0 投票
1 回答
2749 浏览

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

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

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

0 投票
2 回答
1181 浏览

java - Java 访问局部变量名

我目前正在编写一个程序,我想在程序执行期间访问局部变量的变量名并将它们从外部传递出去。我知道 Java 将在编译期间转储局部变量名称,除非在调试模式下编译。

环顾一番后,似乎 JDI/JPDA 是这种工作的出路。假设ref指的是 a ThreadReference,以下是我迄今为止所拥有的:

两个问题:

  1. 我在正确的轨道上,还是有更好的方法来做到这一点?
  2. 如何获取ThreadReferenceto 设置为refLocatableEvent似乎是我需要的,但是任何人都可以提供如何使用它的示例吗?

提前谢谢了!

0 投票
1 回答
818 浏览

debugging - 当服务器运行多个虚拟主机时如何远程调试 Tomcat (JPDA)

我试图在使用相同 Tomcat 容器运行两个虚拟主机的服务器上远程调试 Tomcat (JPDA)。如何确保调试器连接到虚拟主机 A 而不是 B。

谢谢!

0 投票
1 回答
831 浏览

java - ObjectReference underlying object in JDI and JPDA

Very specifically, in JDI and JPDA context, I have the following questions:

  • Why ObjectReference does not expose its underlying object? Is it based on some specification? Are all implementations such as Eclipse Debug Project the same that do not expose the underlying object?

  • Considering the situation that you have the uniqueID() from ObjectReference, is there any way to resolve the underlying object from JVM?

  • If no to the previous question, then what is the best way to resolve the underlying object? I should add that I am familiar with how Value's can be obtained from StackFrame information, but I really need the object reference not the internal values or structure of the fields.

0 投票
8 回答
1569 浏览

java - *你*使用哪个 Java 调试器

我花了很多时间在 Eclipse 中使用 JPDA 调试应用程序。Eclipse 调试器有一些问题让我很恼火。任何人都可以推荐插件、更好的调试器或我还不知道的技巧吗?

  • 在“变量”选项卡中,您可以输入并执行一些 Java 代码。然而,你首先需要点击一些东西(我通常点击“this”)给它一些上下文。然后,在您输入一个冗长的 Java 表达式来调试并“执行”它之后,您的表达式将被结果替换,因此您需要重新输入它。有没有更好的方法,例如控制台或我缺少的东西?
  • 当您浏览数据结构时,调试器中的表示还有很多不足之处。您会看到 Lists、Maps、StringBuilders 等的内部表示。我想看到的是这些对象在概念上包含什么。有没有办法做到这一点,也许使用其他调试器,或扩展或其他东西?
  • 当抛出异常时,是否有某种方法可以检查抛出异常的应用程序的状态?目前我需要在异常发生之前设置断点,然后尝试重现它。
  • 当我跨过一条上面有许多语句的行时,我实际上无法看到正在执行哪些语句,除非通过“介入”每个语句来查看它会将我带到哪里。
  • 如果没有找到源代码,Eclipse 只会茫然地盯着你。你会得到一个有用的屏幕,上面写着“类文件编辑器/找不到源代码”,这完全没用。我更希望能够逐步浏览字节码,这样我至少可以看到发生了什么。有人知道比 Eclipse 做得更好的 Java 调试器吗?
0 投票
2 回答
835 浏览

java - Mac OSX 上 Java 示例的位置

我正在寻找应该与 JVM 一起提供的示例源代码,特别是文件 demo/jpda/examples.jar。它在 OSX 上的什么位置?(它甚至在 Mac OSX 上吗?)

谢谢。

0 投票
1 回答
13693 浏览

eclipse - Eclipse 中的 Tomcat - 从启用 JPDA 开始

我正在尝试在 Eclipse 中配置的 Tomcat 实例中启动并运行 webapp 以进行调试(以使我的工作流程尽可能自动化)。我正在尝试在 Tomcat JVM 中启用远程调试,并且我已经阅读了两组 VM 参数:

或者..

但是每当我尝试使用其中任何一个时,我都会在控制台中收到一条错误消息:

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

我不知道我应该在哪里寻找这些其他 - 据说是重复的 - jdwp 选项。这些在哪里配置?我怎样才能得到这个工作?

0 投票
1 回答
1402 浏览

java - JVM 对 Spring 加载的类的热交换,使用 JPDA

可以请任何人分享他关于这个话题的经验吗?

在 tomcat 上使用 jpda 时,即使对于通过 spring 加载的类,类重新加载是否有效?假设我有几个加载和实例化的类的 spring 上下文,我想在其中一个中更改一个方法。

通常,类会被替换、重新加载,并且每个其他实例都是从类的新版本实例化的。我想即使是旧实例也被旧实例替换了?

使用 Spring 时这是否也有效?所以我有一个 mvc 控制器,我改变它的方法?

或者我必须使用 JRebel 来满足这个要求。