通过 JNI 调用分析运行的 Java
我有一个 C++ 代码,在执行时:
加载 JVM(我可以完全控制如何加载 JVM),并使用 C JNI 代码调用 Java 方法(从加载的类)。 Java 代码没有 Main(),它实际上不是标准的 Java 应用程序。它主要是编译并压缩成Jar文件的静态代码,该代码由C++模块调用。
是否可以分析由 YourKit 执行的 Java 代码(有许可证)?如果是这样,我会很高兴知道如何做。
I have a C++ code that upon execution:
Loads JVM (I have full control on how to load the JVM), and call Java methods (from loaded classes) using C JNI code. The Java code has no Main() and it is actually not a standard Java application. it is mainly a static code that compiled and compacted into Jar file, the code is being called by the C++ module.
Is it possible to profile this Java code being executed by YourKit (have license for it)? If so I'll be glad to know how.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我将向那些希望分析 Java 的 C++ 人员介绍一下:Java 有一个很棒的可视化分析器,可以自动连接到名为 VisualVM 的 JVM。它包含在jdk中。
在这里查看:http://visualvm.java.net/
要运行 Visual vm,请在以下位置查找可执行文件你的jdk bin文件夹。
I'll throw this out there for C++ folks looking to profile Java: Java has a great visual profiler that automatically hooks up to the JVM called VisualVM. It is included with the jdk.
Check it out here: http://visualvm.java.net/
To run visual vm look for the executable in your jdk bin folder.
为了满足大众的需求,
我已经成功地使用 YourKit 进行了分析。我刚刚添加了 yourkit.com/docs/80/help/agent.jsp agnent VM 标志并将探查器附加到 VM。
Answer for the mass demands,
I have managed to profile using YourKit. I just added the yourkit.com/docs/80/help/agent.jsp agnent VM flag and attach the profiler to the VM.