0

看起来 cflow 切入点会将代码注入目标项目的每一行。我的 Android 项目大约有 80,000 行。当尝试使用 eclipse 运行应用程序时,它失败了。

“转换为 Dalvik 格式失败:无法执行 dex:Java 堆空间”。

我查看了源代码,每一行都按照我的 cflow 切入点的建议进行标记,这可能是 java 堆空间用完的原因。我在 eclipse.ini 中增加了堆大小,如下所示,但仍然失败。

...
--launcher.XXMaxPermSize 512M
-showsplash com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize 512m
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx1024m
-XX:MaxPermSize=256m
.. .

所以我的问题是如何解决这样的问题?我应该放弃 cflow 吗?还是有更好的使用方法?

我的目的是根据用户操作生成一个函数调用树。我创建 UI 操作切入点,然后使用 cflow 获取函数调用树。

我的切入点如下:

 pointcut cflowOnClick():
cflow(execution(public void onClick(View)))`
4

0 回答 0