如何跟踪在远程主机上运行的Java应用程序

时间:2018-03-31 17:24:39

标签: java remote-debugging tracing

我知道工具 btrace ,它允许您在执行时打印方法调用。但它似乎不适用于在远程主机上运行的Java应用程序。

我不需要线程转储。我可以看到在执行特定用例时会影响哪些类和方法。它们应该在被叫后立即打印出来。如何实现呢?

3 个答案:

答案 0 :(得分:0)

好的,最后我找到了一个能够做到这一点的工具:

<强> InTrace

http://mchr3k.github.io/org.intrace/

它不会将进程ID作为参数,而是取决于IP地址的主机名和远程主机的端口号。所以它显然适用于远程Java进程。

我自己已经测试过了。它打印我需要的所有内容 - 完整的类名,方法名,参数甚至行号。

答案 1 :(得分:0)

结帐Visualvm。它是免费的,并与jdk捆绑在一起。

它显示了线程视图,类视图。但是,它没有显示方法调用视图。 如果需要方法调用视图,请使用分析器,例如JProfiler或Yourkit java profiler。

答案 2 :(得分:-2)

你应该使用记录器。您可以使用带有记录器的调试和信息日志跟踪每个方法调用。