gpt4 book ai didi

java - JVMTI Agent_OnLoad 处理程序无法创建系统属性

转载 作者:行者123 更新时间:2023-12-01 15:43:33 30 4
gpt4 key购买 nike

我正在使用 JVM 工具界面。我正在尝试使用 SetSystemProperty() 调用在 Agent_OnLoad 事件中创建 SystemProperty。如果该属性存在,它会正确设置一个新值。但是,如果该属性不存在,SetSystemProperty 将返回一个错误代码,指出它无法写入该属性(错误 98)。

是否有另一种方法可以在 JVM 生命周期的早期(在类加载之前)创建系统属性?

2012年5月24日更新:作为特工,我被各种程序加载。我无法要求程序设置此属性(在我的用例中不实用)。我正在寻找一种从代理代码本身设置属性的方法。经过大量实验,我得出的结论是这是不可能的。

最佳答案

如果您还没有查看 JVMTI 文档以了解系统属性,那么值得一看:

http://docs.oracle.com/javase/6/docs/platform/jvmti/jvmti.html#props

看起来 VM 系统属性和 java.lang.System 管理的属性之间存在区别。如果您确实想设置一个可通过 System.getProperty 获取的属性,那么您可能只能通过 JNI 来完成此操作(根据 JVMTI 文档)。

关于java - JVMTI Agent_OnLoad 处理程序无法创建系统属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7586530/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com