分析由 JNI 调用运行的 Java
Posted
技术标签:
【中文标题】分析由 JNI 调用运行的 Java【英文标题】:Profiling Java running by JNI calls 【发布时间】:2010-05-20 13:57:29 【问题描述】:我有一个 C++ 代码,在执行时:
加载 JVM(我可以完全控制如何加载 JVM),并使用 C JNI 代码调用 Java 方法(从加载的类)。 Java 代码没有 Main(),它实际上不是标准的 Java 应用程序。主要是编译压缩成Jar文件的静态代码,被C++模块调用。
是否可以分析 YourKit 正在执行的这个 Java 代码(有它的许可证)?如果是这样,我会很高兴知道怎么做。
【问题讨论】:
我已经设法使用 YourKit 进行分析。我刚刚添加了yourkit.com/docs/80/help/agent.jsp agnent VM 标志并将分析器附加到 VM。 请考虑回答您自己的问题 :) 正如反垃圾邮件所暗示的那样 - 你为什么不把你的发现作为答案呢? 【参考方案1】:我会为那些希望分析 Java 的 C++ 人员提供这个:Java 有一个很棒的可视化分析器,它可以自动连接到称为 VisualVM 的 JVM。它包含在 jdk 中。 在这里查看:http://visualvm.java.net/
要运行 visual vm,请在 jdk bin 文件夹中查找可执行文件。
【讨论】:
【参考方案2】:回答群众诉求,
我已设法使用 YourKit 进行配置文件。我刚刚添加了 yourkit.com/docs/80/help/agent.jsp agnent VM 标志并将分析器附加到 VM。
【讨论】:
以上是关于分析由 JNI 调用运行的 Java的主要内容,如果未能解决你的问题,请参考以下文章
通过 JNI 调用简单的 java 静态方法不起作用,尽管 c++ 编译并运行它