如何运行 Jcalltracer
大家好,我在打开 jcalltracer 时遇到问题,jcalltracer 是 sourceforge 上的一个开源程序,可将 Java 程序逆向工程为序列图。当我尝试将以下内容添加…
JVMTI Agent_OnLoad 处理程序无法创建系统属性
我正在使用 JVM 工具接口。我正在尝试使用 SetSystemProperty() 调用在 Agent_OnLoad 事件中创建 SystemProperty。如果该属性存在,它会正确设置一个…
.NET 的 JVMTI 等效项
我正在寻找一些 Microsoft API,它们具有与 JVMTI 用于 Java 应用程序相同的功能来监视 .NET 应用程序。 例如,我希望能够查看每个方法调用及其所花费…
JVMTI 获取被调用类/文件的名称
我尝试阅读整个 jvmti 文档,但没有找到问题的解决方案。 我想获取在命令行中用于调用程序的类/文件的名称: java -agentpath: 在大写字母中,我想获…
如何捕获java程序中的读取和写入?
我正在尝试创建一个可以捕获java程序进行的所有读写操作的工具。另外,我想知道访问/修改哪个对象的哪些字段。 我目前查看的是:- 1) java.lang.instr…
使用 JVMTI 测量方法执行情况
使用 JVMTI 提供的 MethodEntry 和 MethodExit 事件挂钩,如何测量 Java 中执行方法的时间? 简单来说,它只是: time2 - time1 但我看到的问题是,如…
使用 JVMTI 进行死锁检测
我想知道是否可以使用 JVMTI 动态检测 Java 中的死锁。有两个事件指示使用同步语句在监视器上执行的操作: Monitor Contished Enter 当线程尝试进入另…
在运行时卸载 JVMTI 代理?
我正在使用附加 API 在运行时加载 JVMTI 代理。我想在程序完成后卸载 JVMTI 代理,而不终止加载代理的 JVM。根据 此文档 无法通过附加 API 执行此操作…
使用 JVMTI 测量 Java 的执行时间
对于我使用 JVMTI 实现的探查器想要开始测量所有 Java 方法的执行时间。 JVMTI 提供事件: MethodEntry MethodExit 所以这很容易实现,但是我遇到了这…
分析时的 notificationAll() 调用次数差异
我使用 JVMTI 实现了一个简单的分析器来显示 wait() 和 notifyAll() 上的调用。作为测试用例,我正在使用。 Oracle 的生产者消费者示例。我有以下三个…
由于 Attach API 中缺少 java_pid 文件而导致 AttachNotSupportedException
构建我自己的分析器,我使用 JVMTI 用于构建本机库代理的 API。该代理可以通过使用附加参数 -agentlib 与 JVM 一起启动。此外,还有 Attach API,它允…
ThreadInfo 类提供的信息是否比 JVMTI 提供的信息更多?
这很令人困惑。 ThreadInfo 类提供了很多信息,特别是线程的统计信息。但是我在 JVMTI 中找不到此类函数。这是常态吗?我必须自己收集数据吗?我必须…
使用JVMTI分析JVM,如何区分不同的JVM?
我正在 JVM TI 的帮助下编写一个分析器。 在 C++ 中,我编写了一个简单的代理,它将收集的信息写入套接字。我使用 Java Swing 构建了一个简单的 GUI,…