我目前正在开发一个Java代理程序,以便于对新的和旧的Java应用程序进行动态仪表化。
就IDE调试而言,可以将Java代理程序视为一种特殊情况,因为需要将它们注入到目标JVM进程中才能运行。这自然引出了一个问题:如何调试、测试和分析代理类型的应用程序。
初步搜索现有解决方案时,发现了一些基于命令行的选项(例如YourKit、JIP等),但其中许多也是Java代理程序。使用它们可能会导致一种奇怪的情况,即一个代理程序调试/分析另一个代理程序。我知道代理程序可以堆叠在分层结构中,但我不确定是否可以通过堆叠代理程序来调试代理应用程序。