我需要从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启动期间停止并等待,可能是代理控制器连接。我需要采取哪些步骤来实现这一目标,并从中获取信息?
答案 0 :(得分:1)
之前我曾尝试过使用过TPTP,但我从来没有把它设置好。我可以向您推荐您尝试使用netbeans附带的分析器连接到您的应用程序。我用它来用JNI调用来分析一个应用程序,它很适合我。当然,所有本机代码对于探查器都是不透明的,它只会告诉您本机调用本身需要多长时间。
I have a blog entry that explains how to profile Eclipse applications using netbeans, if it helps.
答案 1 :(得分:1)
您可以使用C profiler来分析您的C代码。它需要编译到您想要分析的库中,但是可以用来查看代码正在做什么。