2017-06-27 7 views
0

Ich verwende mein C-Programm und ich möchte den Speicher sehen, der dadurch benutzt wird. Ich benutze den Profiler gprof. Ist es möglich mit gprof? Oder muss ich vielleicht das Valgrind Profil studieren?Siehe den Speicher, der von einem C-Programm mit gprof verwendet wird

+2

Mein Eindruck ist, dass 'gprof' in erster Linie für die Timing-Performance verwendet wird und nicht für die Größe des Speichers Mess benutzt. Valgrind kümmert sich mehr um das Gedächtnis. Ich habe es nur für die Erkennung von "Speichermissbrauch" verwendet. Es gibt andere Möglichkeiten, es zu verwenden, und eines davon kann für Sie geeignet sein. –

Antwort

0

Wenn Sie den Valgrind Weg gehen wollen, ist Massif das Tool zu verwenden:

valgrind --tool=massif your_app -your_options

0

Sie können gprof verwenden - aber Sie müssen sicherstellen, dass Sie Ihr c-Programm mit den richtigen Optionen für das Profiling (-pg) kompiliert haben. Zum Beispiel:

cc -o cprogram program.c othercode.c -g -pg 

verwenden gprof, überprüfen Sie die man-Seiten - aber, kurz gesagt:

gprof <options> [executable-file [profile-data-files...]] [> outfile] 

Ich hoffe, dass dies hilft!

+2

Wie hilft dies dem OP, den verwendeten Speicher anzuzeigen? –

+0

Ich interpretierte die Frage als, wie man die laufende Anwendung profiliert. Wenn das gesamte OP den Speicherbedarf sehen möchte, dann ist gprof (und die zugehörigen Compiler/Linker-Optionen) unnötig, weil 'top' ausreichen wird. Sogar Valgrind benötigt die Option -pg, die verwendet werden soll. – headbanger

+0

Sie können auch überprüfen, http://valgrind-users.narkive.com/MPnV7HOw/gcc-pg-valgrind-errors – headbanger

Verwandte Themen