2010-08-20 16 views
3

Est-il possible de changer le nom par défaut du fichier gmon.out, qui est créé lorsque l'indicateur de profil (-pg) est défini lors de la compilation avec gcc, , par exemple, [nom de l'exécutable] .gmon.out? J'ai besoin de cela parce que j'ai plus d'un exécutable, qui sont situés dans le même répertoire, et doivent fonctionner en parallèle.Modifier le nom du fichier gmon.out lors de la compilation avec -pg

Répondre

10

Pas si court, mais en réalité la réponse est OUI - si vous utilisez glibc (à moins avec la version 2.11.1, qui est la version que j'ai utilisée pour tester ceci).

Pour que votre -pg compilé et exécutable lié à créer des noms différents alors le gmon.out par défaut, juste définir la variable d'environnement GMON_OUT_PREFIX à une valeur de votre choix et la sortie de profilage sera écrit à [value of your choice].[pid][pid] est le processus id du processus auquel les données de profilage appartiennent.

+0

Un peu en retard, mais merci beaucoup pour la réponse. Je garderai ça à l'esprit. :) – Emiswelt

+2

Vous devriez vraiment accepter cette réponse, l'autre est simplement faux. – spatz

0

En bref, non. Le fichier de profilage créé en exécutant votre programme une fois qu'il a été compilé avec la commande -pg est TOUJOURS appelé gmon.out. Cependant, une fois produit, vous pouvez renommer en toute sécurité à autre chose (par exemple foo.bar) et les analyser plus tard en utilisant la commande:

gprof test.exe foo.bar > analysis.txt 
+0

Merci pour votre effort. Puisque ce n'est pas possible, je suis en train de profiler avec cachegrind et valgrind. Cela a fonctionné pour moi. – Emiswelt