所有
我在Windows PC上运行JProfiler7离线样本时遇到错误,代码来自" jprofiler7 \ api \ samples \ offline \ src \ TestProgram.java" ,并得到了这样的信息:
的JProfiler>本地库的另一个实例是
的JProfiler>加载。请检查适当的环境
的JProfiler>变量。 (PATH,LD_LIBRARY_PATH,DYLD_LIBRARY_PATH)
的JProfiler>离开。
我确定没有任何JProfiler进程在运行,我已经通过" agent.jar"导入了引用的库。并设置JProfiler的PATH:
C:\ Users \ user> echo%PATH%
C:\ Program Files \ Java \ jdk1.6.0_33 \ bin; C:\ Program Files \ java \ jdk1.6.0_33 \ jre \ bin; C:\ Program Files \ jprofiler7 \ bin \ windows-x64; C :\ Program Files \ jprofiler7 \ bin;
我想使用JProfiler API进行远程操作,有人知道如何解决这个问题吗?
的JProfiler:7.2.3 Windows:Win7 Enterprise SP1 JDK:1.6.0_33
如果我使用以下参数:
-agentlib:jprofilerti=offline,id=4321,config=C:\Program Files\jprofiler7\config\config.xml "-Xbootclasspath/a:C:\Program Files\jprofiler7\bin\agent.jar"
会有另一条消息:
Exception in thread "main" java.lang.NoClassDefFoundError: com/jprofiler/agent/ControllerImpl
at com.jprofiler.api.agent.Controller.startCPURecording(Controller.java:87)
at TestProgram.main(TestProgram.java:31)
Caused by: java.lang.ClassNotFoundException: com.jprofiler.agent.ControllerImpl
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 2 more
____________编辑2014.05.08 17:04 CST __________________________________
我试着运行平台的演示(jprofiler7 \ api \ samples \ platform \ src-profiler \ TestProfiler.java),得到了同样的消息,没有args和args(-agentpath:C:\ Program Files \ jprofiler7 \ bin \ windows \ jprofilerti.dll = offline,id = 112,config =" C:\ Program Files \ jprofiler7 \ config \ config.xml -Xbootclasspath / a:C:\ Program Files \ jprofiler7 \ bin \ agent的.jar):
JProfiler> A different instance of the native library has been
JProfiler> loaded. Please check the appropriate environment
JProfiler> variable. (PATH, LD_LIBRARY_PATH, DYLD_LIBRARY_PATH)
JProfiler> Exiting.
-------------------结束--------------------------- ------------------ 解决了这一点 在我的方式中,首先,我使用VM args启动Java应用程序
"-agentpath:C:\Program Files\jprofiler7\bin\windows-x64\jprofilerti.dll=port=8849"
然后我用args运行一个JProfiler platfrom程序:
-agentpath:C:\Program Files\jprofiler7\bin\windows\jprofilerti.dll=offline,id=112,config="C:\Program Files\jprofiler7\config\config.xml -Xbootclasspath/a:C:\Program Files\jprofiler7\bin\agent.jar
然后我可以捕获一些具有空值的信息。
Profiling data :
Memory data:
Exception in thread "main" java.lang.NullPointerException
at com.jprofiler.core.comm.d.a.getTotalHeapUsage(ejt:100)
at TestProfiler.dumpMemoryData(TestProfiler.java:82)
at TestProfiler.dumpProfilingData(TestProfiler.java:55)
at TestProfiler.main(TestProfiler.java:47)
总之,它可以运行......所以结束这个问题。
答案 0 :(得分:0)
用
替换-agentlib VM参数-agentpath:C:\ Program Files \ jprofiler7 \ bin \ windows \ jprofilerti.dll = offline,...
并删除-Xbootclasspath VM参数