如何配置Native JNI库

如何配置用C编写的Java Native Interface库?

我知道通常的C分析器,但我的问题是如何分析整个集合,包括调用JVM方法,这可能会减慢程序的速度。

在对这里提出的一些方法进行了一些研究和测试之后,我最终使用了sprof

基本上我按照这个答案中的说明进行操作。 一些评论:

  1. 我不得不将LD_PROFILE_OUTPUT留空以便在/var/tmp/获得结果,否则不会生成输出文件。
  2. 我分配了LD_PROFILE=libXXXX.so

为了获取配置文件,我运行了加载和使用本机JNI库的Java代码,我得到了一个包含分析结果的文件:

/var/tmp/libXXXX.so.profile

获得文件后,您可以使用以下命令读取它:

sprof /path/to/libXXXX.so /var/tmp/libXXXX.so.profile

分析结果遵循与gprof相同的模板。 在这里您可以找到内容的描述及其含义。