问题标签 [jvmti]
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.
python - 本机代码的python调试器接口?
有没有办法为 Python 编写类似于JVM 工具接口 API的在进程内运行的调试工具?似乎我遇到的所有 Python 调试器实际上都是通过 Python 的自省实用程序实现的(即调试器本身是用 Python 编写的,在被调试的进程内运行)。这是唯一的方法吗?
编辑:看起来 PHP 还提供了类似的进程内 C 绑定,动态加载的调试/分析工具(例如 Xdebug)可以绑定到这些绑定。使用这些绑定的库称为zend_extension
s。
jvm - 如何在当前机器上运行 jvm
想象一下: 两个 java 项目在 JDK1.5 和 JDK1.6 上工作 两个在 JDK 1.7 上工作。如何获取正在运行的 jvm 名称、pid 和项目名称就可以了。
结果应该看起来像:
pid 1234, projec_tname prj1, java_version JDK1.6
pid 4354, projec_tname prj2, java_version JDK1.5
pid 6234, projec_tname prj3, java_version JDK1.7
pid 9034, projec_tname prj4, java_version JDK1.7
中的解决方案Is there a Java library that search for JVMs on the current machine? 是在当前机器中找到未运行的 JDK。这对我的问题没有帮助。有任何想法吗?
java - 当我尝试重新转换类时,无法重新定义类
我试图动态修改类,例如在一行之前调用 sleep() 。Attach
我在运行时使用方法将代理附加到 jvm 。然后我从 jvm 得到目标类,并修改它(添加一行调用sleep()
)。我得到了 redine 类错误。我正在使用JDK1.6。我正在使用 ASM 核心 API 来修改类。错误:
ASM 代码有问题吗?实际上我的 ASM 代码完成了它的工作(添加一行来调用sleep()
)。当前的 jvm 不支持重新转换类吗?似乎执行失败retransformClasses()
。不retransformClasses()
支持 ASM 操作(在调用的方法中添加一行sleep()
)?有任何想法吗?谢谢
编辑: 我要修改的类:
我的 ASM 代码:
java - jvm如何加载项目(里面有很多类)
jvm如何加载一个项目,包括很多类?jvm是否有整个项目的类图。jvm如何获取这些类的地图?我可以随时从 jvm 获取该项目的任何类,无论该类未在 jvm 中加载还是已完成工作并已终止?我知道可以在开始之前加载类,并在类在 jvm 中运行期间获取类,但是它被终止了怎么办。有没有人有任何参考?谢谢你的时间。
jvm - 用于检查所有 JVM 运行类的 Java 代理?
我正在尝试做一个关于 BCI 和 JavaAssist 的学术项目。如果有人可以帮助我解决这些问题,我会很高兴:
是否可以构建一个可以检查/控制当前在 JVM 中运行的所有类的 Java 代理?
是否可以将 java 对象构建为对象(子对象)的组合,以便这些子对象可以在主 java 对象仍在运行时动态地更新它们的行为?
java - 尝试重新转换类时得到“UnsupportedOperationException”
JDK1.6,动态修改jvm中加载的类。当我评论 code:classReader.accept(classAdapter, ClassReader.SKIP_DEBUG);
时,异常"UnsupportedOperationException"
消失了。实际上,为了测试我的代码,我没有修改任何字段或方法。但程序"UnsupportedOperationException"
在调用后捕获异常retransformClasses()
。有人有类似的例外吗?任何人都可以给我一些建议吗?thx 代码如下:
|
java - 如何修复致命错误 jvmti.h 没有这样的文件或目录编译终止 c 代码 ubuntu?
如何修复致命错误 jvmti.h 没有这样的文件或目录编译终止 c 代码 ubuntu?我的c代码是:
包括“jvmti.h”
JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved) {
/* 我们返回 JNI_OK 表示成功 */ printf("\nmy name is,\n\n");
返回 JNI_OK;
}
JNIEXPORT void JNICALL Agent_OnUnload(JavaVM *vm) { }
在终端中键入此命令: gcc -Wall -W -Werror first_agent.c -o firstagent
first_agent.c:1:19:致命错误:jvmti.h:没有此类文件或目录编译终止。
java jdk版本javac 1.7.0_25
其中 gcc 版本 gcc 版本 4.7.3 (Ubuntu/Linaro 4.7.3-2ubuntu4)
这里应该更新 gcc 版本到 4.8?
java - 如果在同一平台上有两个或多个不同的 jre 实现会发生什么?
我的系统上安装了两个 jre 版本(1.3 和 1.5),我正在尝试通过 Internet Explorer 安装一些 Java 小程序。我只想知道,当applet 程序执行时,Web 浏览器将如何选择要使用的jre 版本。
java - 如何在运行时重用已加载到目标 jvm 中的代理
我正在使用 jdk 1.6。我将代理附加到目标 jvm 并发送了几个参数。由于我的几个参数已经改变,是否可以重用在目标 jvm 中运行的代理?我想使用这些参数的新值在代理中进行编程以完成新工作。有没有人有类似的经历?谢谢
java - java.io.InputStreamReader 的 JPDA JDI ObjectReference
有没有办法从 JPDA JDI 检索字符串/文本ObjectReference of java.io.InputStreamReader
?