【发布时间】:2018-09-10 10:37:00
【问题描述】:
我知道 btrace 工具,它允许您在执行方法调用时打印它们。但它似乎不适用于在远程主机上运行的 java 应用程序。
我不需要线程转储。当执行特定用例时,我要查看哪些类和方法会受到影响。它们应该在调用后立即打印出来。如何实现?
【问题讨论】:
-
你用过logger吗?
标签: java remote-debugging trace
我知道 btrace 工具,它允许您在执行方法调用时打印它们。但它似乎不适用于在远程主机上运行的 java 应用程序。
我不需要线程转储。当执行特定用例时,我要查看哪些类和方法会受到影响。它们应该在调用后立即打印出来。如何实现?
【问题讨论】:
标签: java remote-debugging trace
好的,我终于找到了可以做到这一点的工具:
跟踪中
http://mchr3k.github.io/org.intrace/
它不以进程ID作为参数,而是以IP地址的主机名和远程主机的端口号代替。所以它显然适用于远程 java 进程。
我自己已经测试过了。它打印出我需要的所有东西——完整的类名、方法名、参数甚至行号。
【讨论】:
结帐Visualvm。它是免费的,并且与 jdk 捆绑在一起。
它显示线程视图,类视图。但是,它不显示方法调用视图。 如果需要方法调用视图,请使用 JProfiler 或 Yourkit java profiler 等分析器。
【讨论】:
你应该为此使用记录器。您可以使用带有记录器的调试和信息日志来跟踪每个方法调用。
【讨论】: