Android: gibt es ein tool für profiling native code?
Habe ich nur eine gefunden profiling-tool - http://code.google.com/p/android-ndk-profiler/. War nicht in der Lage, um es arbeiten so weit, so Frage ich mich, ob es gibt andere Werkzeuge zur Verfügung.
Ich brauche, um ein Profil auf einem physischen Gerät, wie meine Anwendung gar nicht funktionieren auf emulator.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht leicht, die Android-NDK-profiler-Arbeit. Sie müssen die Schritte hier gründlich.
Hier sind einige Tipps, die führte mich zum Erfolg:
Richtig verwenden Sie die folgenden Funktionen
monstartup("your_lib.so");
moncleanup();
Wenn die gmon.aus generiert wird, nun müssen Sie ziehen Sie es aus dem Gerät, aber nicht überall, in Ihren PC. Für mich funktioniert es nur wenn ich gehe auf den Ordner der Anwendung (wo jni, obj, res und andere Ordner sind) und ich tun:
Konsole$ adb pull sdcard/gmon.aus
Führen gprof. Versuchen Sie, alle-Versionen, die in Ihrem NDK toolchains. Nur für mich gearbeitet, dieses:
Konsole$ ~/Libraries/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi- gprof obj/local/armeabi-v7a/libxxxx.so > profile.txt
Den Glänzende profiler ist Plattform unabhängig, es läuft überall und es hat keine Abhängigkeiten außer einer standard-C++ - compiler. In seiner einfachen Verwendung, alles Sie tun müssen ist, fügen Sie ein makro am Anfang alle Funktionen und Methoden (oder zumindest diejenigen, die Sie wollen, um Profil).
Intel VTune Verstärker. Dieser profiler ermöglicht das sammeln von hotspots mit dem Stapel auf Android Geräte ohne root oder jede OS-änderung.
Hier ist die Anleitung:
http://software.intel.com/en-us/articles/using-intel-vtune-amplifier-on-non-rooted-android-devices
In der DDR, r13b gibt es ein neues tool namens simpleperf