1

我的任务是使用动态探针(如 dtrace 或 systemtap)跟踪一些 java 应用程序。当然,它应该在没有应用程序重新启动或重新编译的情况下完成。它应该允许在方法调用和内部 JVM 事件上动态设置拦截器。在 solaris 中可以通过 dtrace 完成,但在其他系统中则不行。我怎样才能解决这个任务?

4

1 回答 1

2

在 linux 上(至少在 fedora 和 red hat 上)你可以使用systemtap,查看这个链接以获得解释。它使用byteman来跟踪 java 应用程序。虽然您不能systemtap在 linux 以外的其他平台上使用,但您可以添加byteman到您的项目并在任何操作系统上使用它。Byteman 允许用户将自定义代码注入到正在运行的 java 类中,请参阅文档

于 2015-02-06T15:46:43.137 回答