我想问一下如何分析REMOTELY一个java应用程序。为了调试我可以说JVM必须侦听哪个端口等,因为我试图访问的机器是在ssh网关后面,所以我手动创建一个SSH隧道,但我一直在谷歌搜索相同的东西,但在分析时,我无法'似乎找到了。基本上我正在寻找相当于这个命令:
java -agentlib:jdwp=transport=dt_socket,server=y,address=8000 -jar /bla/bla
但是对于分析,以便我可以远程连接分析器。
答案 0 :(得分:7)
免责声明:我公司开发JProfiler
使用JProfiler,VM参数如下:
-agentpath:/path/to/libjprofilerti.so=port=8849
“/ path / to / libjprofilerti.so”是本机代理库的路径,在Linux x86上,对于32位JVM,它将是[JProfiler安装目录] /bin/linux-x86/libjprofilerti.so 。使用port参数,您可以告诉代理侦听特定端口。您可以将其设置为SSH隧道的端口。
您可以通过在JProfiler主菜单中调用Session-> Integration Wizards-> New Remote Integration轻松生成此VM参数:
在本地计算机上,创建“附加到已分析的JVM”类型的新会话,并选择SSH隧道的本地端口(屏幕截图中为10022):