我正在计划使用Oracle提供的JVMTI API来开发探照室。对于可视化,我想在代理代码的顶部实现GUI(QT框架)。我的第一个JVMTI代理是Aready编译和运行,我开始将代理集成到我的QT项目中。

现在,我面临的问题如何将代理与GUI搭配。 GUI应该在代理商内部发射吗?例如在Agent_onload函数中?

长期的是,我无法想象如何意识到这一点。

有帮助吗?

解决方案

好吧,您有很多选择最明显的是基于插座的通讯。您必须假设大多数分析用例都将涉及服务器上的远程无头JVM。在我的Profiler中,您可以在与代理商在同一机器上的小启动/停止/控制实用程序中无头操作,并在服务器上收集数据并将其转移到客户端进行可视化。您还可以使用代理启动远程(或本地)JVM,并通过完整GUI的套接字连接到听众。

还有新的“ JVM附件API”,它允许您将代理“插入”已运行的JVM中,因此,如果目标机器是Uni*,则可以使用GUI中的SSH/SCP,并脚本脚本SCP传输服务器的代理和SSH启动附件。

因此...插座(IP和/或域),并从GUI中重用无头控制/收集客户端的代码

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top