如何配置Native JNI库
如何配置用C编写的Java Native Interface库?
我知道通常的C分析器,但我的问题是如何分析整个集合,包括调用JVM方法,这可能会减慢程序的速度。
在对这里提出的一些方法进行了一些研究和测试之后,我最终使用了sprof
。
基本上我按照这个答案中的说明进行操作。 一些评论:
- 我不得不将
LD_PROFILE_OUTPUT
留空以便在/var/tmp/
获得结果,否则不会生成输出文件。 - 我分配了
LD_PROFILE=libXXXX.so
为了获取配置文件,我运行了加载和使用本机JNI库的Java代码,我得到了一个包含分析结果的文件:
/var/tmp/libXXXX.so.profile
获得文件后,您可以使用以下命令读取它:
sprof /path/to/libXXXX.so /var/tmp/libXXXX.so.profile
分析结果遵循与gprof
相同的模板。 在这里您可以找到内容的描述及其含义。