gpt4 book ai didi

java - 使用 Spark(Soot -Eclipse 框架)生成调用图 - 内存问题

转载 作者:行者123 更新时间:2023-12-01 14:35:02 25 4
gpt4 key购买 nike

我正在尝试使用 Spark(在 Soot -Eclipse 框架中)为 java 代码生成调用图。我从 HelloWorld 开始。即使对于这个小例子,系统内存看起来也不够。

Soot has run out of the memory allocated to it by the Java VM.
To allocate more memory to Soot, use the -Xmx switch to Java.
For example (for 400MB): java -Xmx400m soot.Main .

我的机器是基于 Windows 的 4GB Core I-5。 eclipse运行的进程是javaw.exe。即使对于使用烟灰的 Helloworld 来说,这种内存不足行为也是预期的吗?我是运行 java 分析的新手,不确定库类是否会增加巨大的开销。

或者也许正确的问题是 - 我如何使用 -Xmx 开关在 Windows 上的 Eclipse 中使用更多内存运行 Soot - 有人这样做过吗?

Eclipse 中的命令如下。我在 Spark Analysis 中使用了一些简化选项。

soot.Main     --w --d C:\Users\nbalaji\workspace\HelloWorld\sootOutput 
--process-path C:\Users\nbalaji\workspace/HelloWorld/src;
--cp /C:/Users/nbalaji/workspace/HelloWorld/bin/, < bunch of Java/jre7 files >

编辑:此问题现已解决。摘自《煤烟生存指南》:准备运行时配置时,您应该将以下参数添加到 JVM -Xmx512m-Xss256m 增加VM内存。

最佳答案

使用大量内存的烟灰不是错误。您的 Hello-World 程序传递调用数千个方法,所有这些方法都会被分析。

正如异常消息所示,您应该使用:

java -Xmx400m soot.Main ...

这是一个 JVM 选项,而不是 Soot 选项。

关于java - 使用 Spark(Soot -Eclipse 框架)生成调用图 - 内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16553440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com