如何在" dtrace style"中跟踪java应用程序?

时间:2015-01-30 15:04:07

标签: java trace jvm-hotspot dtrace jvmti

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

1 个答案:

答案 0 :(得分:1)

在Linux上(至少在fedora和red hat上),您可以使用systemtap执行此操作,有关说明,请参阅this link。它使用byteman来跟踪java应用程序。虽然您不能在除linux之外的其他平台上使用systemtap,但您可以将byteman添加到项目中并在任何操作系统上使用它。 Byteman允许用户将自定义代码注入到运行的java类中,请参阅documentation