gpt4 book ai didi

java - 如何在不停止 JVM 的情况下将 Javaagent 添加到 JVM?

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:00 26 4
gpt4 key购买 nike

我希望在不停止应用程序的情况下分析 Java 应用程序。我可以在应用程序运行时以某种方式添加 Javaagent 吗?

最佳答案

参见Starting a Java agent after program start .

它链接到http://dhruba.name/2010/02/07/creation-dynamic-loading-and-instrumentation-with-javaagents/在“运行时动态加载 javaagent”下提供了工作示例:

public static void loadAgent() throws Exception {
String nameOfRunningVM = ManagementFactory.getRuntimeMXBean().getName();
String pid = nameOfRunningVM.substring(0, nameOfRunningVM.indexOf('@'));
VirtualMachine vm = VirtualMachine.attach(pid);
vm.loadAgent(jarFilePath, "");
vm.detach();
}

请注意,Java 9 要求 JVM 启动参数中存在 -Djdk.attach.allowAttachSelf=true

关于java - 如何在不停止 JVM 的情况下将 Javaagent 添加到 JVM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383906/

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