J'ai une application hôte et j'ai écrit un plug-in. Je compile mon plug-in vers un objet partagé (disons foo.so), et l'application hôte le chargera via dlopen. Dans ce cas, mon application hôte est l'outil d'opt de llvm (bien que je ne pense pas que ce soit important pour la question).Comment profiler un objet partagé sans profiler l'application hôte?
Je voudrais compiler mon plug-in avec le profilage activé (c'est-à-dire g++ -pg
, gprof
). Toutefois, lorsque je fais cela, le fichier de sortie de profil gmon.out n'est jamais créé. Peut-être que gprof s'attend à ce que quelqu'un appelle une routine d'installation, ou quelque chose comme ça.
Pour diverses raisons, je voudrais éviter de recompiler l'application hôte avec -pg. Je suis curieux de savoir s'il est possible de profiler un objet partagé foo.so sans profiler l'application hôte opt.
J'ai également examiné d'autres outils de profilage; qprof de HP devrait être capable de gérer cette situation, mais il est incapable de résoudre les noms de fonctions dans l'objet partagé (il revient à addr2line d'une manière très naïve).
Merci, Nick