我只找到一个剖析工具 - http://code.google.com/p/android-ndk-profiler/。到目前为止无法使其工作,所以我想知道是否有其他工具可用。 我需要在物理设备上进行配置文件,因为我的应用程序甚至不能在仿真器上工作。Android:有没有分析本机代码的工具?
回答
要使Android-NDK探查器工作并不容易。您需要彻底遵循步骤here。
这里有一些提示,导致我的成功:
- 确保您android.mk是正确的,您导出NDK_MODULE_PATH。
正确使用以下功能
monstartup(“your_lib.so”);
moncleanup();
如果现在生成gmon.out,则需要将其从设备中拉出,但不能放到PC中的任何位置。对于我来说,只要我去应用程序的文件夹的作品(其中JNI,OBJ,资源和其他文件夹),我做的事:
控制台$ ADB拉SD卡/是gmon.out
然后运行gprof的。试试你的NDK工具链中的所有版本。对我来说,只是一个工作,这一个:
控制台$〜/库/ Android的NDK-R9 /工具链/ ARM-Linux的androideabi-4.8 /预建/ Linux的x86_64的/ bin中/ ARM-Linux的androideabi -gprof OBJ /本地/ armeabi-V7A/libxxxx.so> profile.txt
Shiny profiler是平台独立的,它运行在任何地方,除了标准的C++编译器外,它没有任何依赖关系。在更简单的用法中,您只需在所有函数和方法(或至少是您想要配置的那些)的开头添加一个宏。
英特尔VTune放大器。此分析器允许您收集热点,其中包含Android没有root或任何操作系统修改的设备。 这里有简单的指导: http://software.intel.com/en-us/articles/using-intel-vtune-amplifier-on-non-rooted-android-devices
关于他们开始针对Android的时间。但他们支持ARM,还是只支持x86? –
是的,它在拱门上运作良好。 –
嗨伊利亚! :)它实际上比android-ndk-profiler更好吗?它要多少钱? –
在NDK R13B有一个叫simpleperf
Simpleperf记录在https://android.googlesource.com/platform/system/extras/+/master/simpleperf/README.md – osgx
- 1. 有没有JavaScript静态分析工具?
- 2. 无法分析Android本机代码
- 3. C++代码分析工具
- 4. 代码分析工具4
- 5. Android本机代码剖析
- 6. 静态代码分析与动态代码分析工具?
- 7. 开发专有API的静态源代码分析工具?
- 8. Mono的源代码分析工具
- 9. 分析Java源代码的工具
- 10. 工具来分析代码的语法
- 11. 分析matlab源代码的工具
- 12. 用于分析OCaml代码的工具
- 13. 是否有Windows脚本编写主机代码的分析器?
- 14. C#有任何代码风格分析工具吗?
- 15. 是否有工具可用于分析python代码?
- 16. 动态代码分析工具和动态测试工具是否有区别?
- 17. visual studio代码分析/度量工具
- 18. Progress 4GL代码分析工具
- 19. 静态代码分析工具
- 20. Java代码分析/度量工具
- 21. 代码增量静态分析工具?
- 22. 选择静态代码分析工具
- 23. 代码使用分析工具
- 24. 有没有免费的websphere 5分析工具?
- 25. 有没有比permcalc更好的工具来分析权限?
- 26. Intersystems Cache对象脚本是否有任何代码覆盖分析工具?
- 27. 有没有人知道可以导出为代码的样机工具?
- 28. 有没有类似Android的机械化工具?
- 29. 解析没有解析器工具
- 30. 带分析小工具的分层设计 - 此代码是否有气味?
修改项目中的每个功能是痛苦的新工具。我更喜欢自动仪器。但是,谢谢你的提示! –
如果没有其他工作,我保证你会闪亮。我和webOS有类似的问题。 gprof支持被打破了,没有别的可用。 Shiny做得非常好,帮助我解决了性能问题。为了编写代码,我只写了一个脚本,它使用正则表达式定位所有函数体,然后自动插入宏调用,所以根本没有痛苦。祝你好运。 – Miguel
有道理!自动宏插入,我的意思是。谢谢! –