我想使用离线模式连接应用程序,并且我已经关闭了我的防火墙软件。
我会得到一些信息,例如:
C:\workspace\newperflog\TestThread\bin>java "-agentpath:C:\Program Files\jprofil
er7\bin\windows-x64\jprofilerti.dll=port=8849" ProfilerTest
JProfiler> Protocol version 37
JProfiler> Using JVMTI
JProfiler> JVMTI version 1.1 detected.
JProfiler> 64-bit library
JProfiler> Listening on port: 8849.
JProfiler> Instrumenting native methods.
JProfiler> Can retransform classes.
JProfiler> Can retransform any class.
JProfiler> Native library initialized
JProfiler> VM initialized
JProfiler> Waiting for a connection from the JProfiler GUI ...
我无法通过消息连接应用程序:
Exception in thread "main" java.lang.NullPointerException
at com.jprofiler.core.comm.d.a.getThreadInfos(ejt:229)
at TestProfiler.dumpProfilingData(TestProfiler.java:59)
at TestProfiler.main(TestProfiler.java:46)
但如果我先使用JProfiler GUI连接,那么我可以将其与我的离线命令连接。
我是否在调用JProfiler GUI时缺少任何参数?
我可以通过JProfiler GUI连接之后通过Java离线应用程序获取信息,如下所示:
JProfiler> Protocol version 37
JProfiler> Using JVMTI
JProfiler> JVMTI version 1.1 detected.
JProfiler> 64-bit library
JProfiler> Listening on port: 8849.
JProfiler> Instrumenting native methods.
JProfiler> Can retransform classes.
JProfiler> Can retransform any class.
JProfiler> Native library initialized
JProfiler> VM initialized
JProfiler> Waiting for a connection from the JProfiler GUI ...
JProfiler> Hotspot compiler enabled
JProfiler> Using sampling (5 ms)
JProfiler> Time measurement: elapsed time
JProfiler> CPU profiling enabled
JProfiler> Disconnected. Waiting for reconnection.
JProfiler> Listening on port: 8849.
JProfiler> Reconnection.
JProfiler> Disconnected. Waiting for reconnection.
JProfiler> Listening on port: 8849.
JProfiler> Reconnection.
JProfiler> Disconnected. Waiting for reconnection.
JProfiler> Listening on port: 8849.
Before Connected
Connected
Profiling data :
Hot spots:
Top 5 hot spots:
Hot spot 1: ProfilerTest.main(java.lang.String[ ]): 50 ms (100 %)
Backtraces:
ProfilerTest.main(java.lang.String[ ]): 50045 (0)
***: 50045 (0)
Cpu tree:
***: 50045 (0)
ProfilerTest.main(java.lang.String[ ]): 50045 (0)
java.util.Scanner.next(): 50045 (0)
Custom payload hot spots:
Tested load factors:
答案 0 :(得分:3)
只需在-agentpath命令中添加`,nowait',然后跳过该消息。这不是“离线分析”,您可以稍后与JProfiler联系。
对于离线性能分析,您可以添加,offline
参数并引用包含触发器和操作的特殊配置,这样您就不必连接JProfiler GUI。
分析API(在TestProfiler中使用)在这方面不相关。