1

我需要从 C 应用程序分析由 JNI 调用 API 启动的 Java 应用程序,自然 TPTP 工具似乎是一个不错的起点。但是,我可以启动应用程序,但我不知道如何连接到它以进行分析。我意识到这属于“愚蠢的新手”桶,但我真的有点迷路了。请允许我解释一下:

我已将 JVM 选项“ -XrunpiAgent:server=controlled”添加到我的 java VM 启动选项中。

我已经添加了$ECLIPSE_HOME/plugins/org.eclipse.tptp.platform.ac.linux_ia32_4.4.1.v200808290100/agent_controller/lib to my LD_LIBRARY_PATH

我正在针对 Sun Java 1.5.0_10 JVM 库运行

在 Eclipse 中,我有一个 Java 项目,其中包含我希望分析的代码。我没有分析启动配置,我也不真正知道需要进入它们的内容。

正是在这一点上,我的知识走到了尽头。当我启动我的基于 JNI 的应用程序时,它只是在 VM 启动期间停止并等待,大概是代理控制器连接。我需要采取哪些步骤才能实现这一目标并从中获取信息?

4

2 回答 2

1

我之前尝试过使用 TPTP,但我始终无法正确设置它。我可以建议您尝试使用 netbeans 中包含的分析器来连接到您的应用程序。我用它来分析一个带有 JNI 调用的应用程序,它对我很有帮助。当然,所有本机代码对分析器都是不透明的,它只会告诉您本机调用本身花费了多长时间。

如果有帮助,我有一篇博客文章解释了如何使用 netbeans 分析 Eclipse 应用程序。

于 2009-01-23T00:08:00.757 回答
1

您可以使用 C 分析器来分析您的 C 代码。它需要编译到您要分析的库中,但对于查看代码在做什么很有用。

于 2009-01-23T07:18:30.043 回答