问题标签 [jdi]

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 回答
1501 浏览

java - Java 调试接口:将断点放在代码中的任意位置

我正在使用 Java 调试接口 API编写自定义程序来调试我编写的 Java 应用程序。我可以使用以下代码在所需方法调用的开头添加断点:

但是,我无法弄清楚如何获取源文件中任意位置的 Location 对象。

0 投票
3 回答
2334 浏览

java - JDI:如何在调试器中暂停 Java 应用程序 (JVM)

我正在寻找潜在的 JDI API 以在其执行期间的任意点暂停 JVM。查看BreakPointRequest的createBreakpointRequest 方法需要一个特定的位置。是否有任何其他 API 不需要位置或以某种方式获取可以传递以创建断点的当前位置。

我基本上是在寻找一种附加和暂停应用程序的方法,然后使用 JVMTI 代理接收 BreakPoint 事件的回调以执行进一步处理。谢谢

0 投票
1 回答
9309 浏览

java - 如何导入和使用 com.sun.jdi.VirtualMachine

我在VirtualMachinecom.sun.jdi等包中发现了一些专为调试而设计的类,但我不能使用它,因为 Sun JDK7 中似乎不存在包。

如何使用这个包?

顺便提一句。lib/sa-jdi.jar和我想要的不一样

0 投票
4 回答
12514 浏览

eclipse - JDI 事件调度空指针异常

当我尝试在我的设备上调试时,有时会出现错误,并且调试器不会在任何断点处停止。此外,该应用程序甚至无法正常启动,它只是在有点黑屏的情况下冻结,应用程序图标和名称位于顶部。

错误是 Eclipse 中的一个弹出窗口,标题为“'JDI Event Dispatch' 遇到问题。在:'JDI Event Dispatch' 期间发生内部错误。” 我有一个确定和详细信息按钮,当我按下后者时,我得到以下详细信息:“发生内部错误:“JDI Event Dispatch”。java.lang.NullPointerException”

我在 Eclipse Java EE Helios Service Release 2 工作。任何帮助将不胜感激

0 投票
1 回答
173 浏览

linux - 更改类路径以启动 vm

首先,我正在使用 linux :) 我正在尝试使用 JDI 启动 VM。我需要更改连接器中的参数。该连接器是来自 Bootstrap.virtualMachineManager() 的 LaunchingConnector 连接器。代码是这样的:

我正在尝试更改类路径,以便它查找 JUnit 核心,我告诉它,新的类路径是“../../lib/junit-4.6.jar”,类是“org.junit.runner。 JUnitCore”

当我尝试跑步时

它会抛出 VMStartException,因为它尝试运行如下命令:

它没有改变类路径,最后它没有返回一个虚拟机。谁能告诉我改变这种情况的方法?我还想从命令中取出 -Xdebug 并更改端口号。

谢谢

0 投票
1 回答
190 浏览

java - Java 的 DebuggerStepThrough 等效项

.NET 有几个方便的注释,它们指示调试器单步执行/跳过某些方法。我想知道是否有适用于 Java 平台的等价物。

例如:

会导致调试器在单步执行时不会停止。foo

我试过的

  • 在类文件中使用 SYNTHETIC 标志。这会导致 javac 禁止用户代码调用此类方法。
  • 自定义属性。没有用于检索注释的JDI API 。在这个论坛上也提到过。

PS。我正在实现一个调试器并控制发出的字节码

0 投票
1 回答
445 浏览

java - 使用jpda连接weblogic

我正在构建一个实用程序/工具来分析/跟踪部署在 Weblogic 10 (java 6) 中的 Java EE 应用程序中的方法调用。目的是快速了解我们庞大的企业应用程序中的事件流。(浏览代码很乏味)

我已经按照与 jdk6 捆绑的“Trace”演示应用程序来构建我的版本。该应用程序在连接到普通桌面样式应用程序并成功跟踪方法调用时工作正常。但是对于 Weblogic,EventQueue.remove 返回 null EventSet。请注意,与 weblogic VM 的连接是成功的。但是一旦连接上,部署的 Web 应用程序中的任何点击或活动都会导致目标 VM 中的线程挂起,最终导致 http 请求超时。

我正在为 weblogic 启动脚本使用以下 vm 参数:

使用的示例代码来自 jdk1.6.0_13\demo\jpda\examples\com\sun\tools\example\trace

有没有人有类似工具的经验或面临类似的问题。想知道Eclipse远程调试是怎么实现的!

谢谢!

0 投票
1 回答
299 浏览

java - 自定义调试器来调试远程/本地 java 应用程序

我想使用 java 程序调试远程 java 应用程序(我不介意在程序中使用 eclipse api),但我不想使用 eclipse GUI 调试它。

任何建议/帮助将不胜感激。

提前致谢!!

0 投票
2 回答
1161 浏览

java - 无法运行 JDI 跟踪示例:错误:无法找到或加载主类

我在命令行中运行以下程序作为示例应用程序:

java -cp "D:\projects\PDFJavaFX\lib\PDFRenderer-0.9.1.jar" com/sun/pdfview/PDFViewer

然后我在命令行中运行JDI 跟踪示例:

java -cp "C:\Program Files\Java\jdk1.7.0_13\lib\tools.jar;D:\projects\JDI_Trace\jar\trace.jar; D:\projects\PDFJavaFX\lib\PDFRenderer-0.9.1 .jar " com/sun/tools/example/trace/Trace com/sun/pdfview/PDFViewer

我收到此错误:

示例应用程序运行正常,并且包含在类路径中。这是什么原因?我错过了什么?

谢谢

0 投票
1 回答
481 浏览

java - 连接到 jvm

我想访问 jvm 堆以迭代对象。我发现了如何做到这一点的以下示例。我用jdk1.7.0_11.

我尝试了以下代码:

有以下输出:

和例外:

还应该做些什么来完成这项工作?最后,我想访问堆中的 jvm 对象图并搜索该图。