如何在JNI中读取本地参考表的内容?

时间:2014-08-01 14:58:31

标签: android c java-native-interface

我收到类型的JNI错误:

JNI ERROR (app bug): local reference table overflow (max=512)

现在,我知道它发生的原因以及如何解决它但我在查找位置时遇到了一些麻烦(CheckJNI被激活并且对我没有多大帮助)。为了调试这个,我想打印引用表的内容,特别是当应用程序崩溃时获得相同的消息会非常有用:

JNI local reference table (0x6456b0e8) dump:
07-30 11:16:12.275: W/dalvikvm(14277):   Last 10 entries (of 512):
[...]
Summary:
[...]

我还没有找到解决这个问题的方法,而且我见过的唯一一个近似解决方案(Android JNI local reference table, dump current state)现在没用了,因为类 VMDebug 已不在{{ 1}}。此外,dalvik.system(此类在 VMDebug 的旧API中引用)没有转储此表的功能。

有没有办法强制显示错误消息?或者得到类似的东西?

0 个答案:

没有答案