gprof eine Bibliothek - Frage
Muss ich gprof eine Bibliothek in unserem system zu prüfen, die Funktion der Anrufe und sehen, ob wir optimieren können, es nicht mehr. Im Grunde, was ich habe, ist
Ausführbaren Datei Ein, die nutzt eine geteilte Bibliothek myLib.so
Möchte ich gprof die myLib.so. Wenn ich kompilieren myLib.also Quelle mit der -pg option, die es produziert, ein .also die Datei einfach nur gut.
Aber, das erneute kompilieren der Ausführbaren Datei Ein, die gegen diese Bibliothek ist nicht die Herstellung der *.gmon-Datei aus irgendeinem Grund. Was muss getan werden? Sollte ich einen link der myLib statisch? Wenn ja, bitte sagen Sie mir, wie. Ich bin ein newbie, also bitte entschuldige meine Ignoranz. Ich lernen jeden Tag
vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie können tun, besser als gprof.
Könnte man eine gute sampling-profiler wie RotateRight/Zoom, oder Sie könnten versuchen,diese Technik. Auch lsstack dient. pstack tut Sie das auch, aber ist mehr Arbeit für Sie.
Ich habe das gleiche Problem, aber ich denke, das beste, was zu tun ist, erstellen Sie ein kleines C - /C++ - Programm, das die Bibliothek nutzt, die mit ein paar test-Anrufe, kompilieren Sie es mit der Bibliothek, die mit -pg, und ein Profil, das.
So dass Sie schön isolieren Sie die profiling-Fragen, die die Bibliothek von anderen Sachen auch.
Als http://sourceware.org/binutils/docs/gprof/Implementation.html und https://stackoverflow.com/a/7290284/885650 hinweisen, die Sie brauchen -pg bei der Verlinkung, als es fügt zusätzlichen code überall.