gmon.aus nicht erstellt, wenn ich das kompilieren mit -pg-Kennzeichen mit g++

Ich bin läuft auf Mac OSX, version 10.8.5 (Mountain Lion). Ich habe die folgende einfache C++ - code.

main.cpp:

#include <iostream>

int main ()
{
    std::cout << "Hello world!"<<std::endl;
    std::cout << "Goodbye world!"<<std::endl;
    return 0;
}

Ich versuche, gprof, um auf meinem computer. Als die Handbuch schon sagt, ich geben Sie die folgenden zwei Zeilen in meinem terminal:

g++ -g -pg main.cpp -o a.out 
./a.out

Allerdings nicht generieren gmon.out - Datei, wie es soll. Wenn ich versuche die Eingabe gprof im terminal, es sagt:

gprof: can't open: gmon.out (No such file or directory)

ist zu erwarten, da gmon.out gibt es nicht...

Irgendwelche Ideen auf, was ich falsch mache?

EDIT: Einige andere Dinge, die helfen können:

  • Mein Freund, der hat eine ähnliche OS-X-version (ich kann ihn bitten, später zu bestätigen), und der exakt gleichen Versionen von g++ und gprof konnte
    verwenden gprof erfolgreich wie ich Sie beschrieben habe.

  • Verwende ich eine ältere version von g++ aber ich habe online gelesen, dass die Aktualisierung auf eine neuere version hat auch nicht geholfen.

  • a.out funktioniert einwandfrei, druckt es aus Hello world! und Goodbye world!. Ich habe auch versucht diese mit einer komplexeren C++ - Programm mit
    mehrere Klassen und es hat immer noch das gleiche problem. Alles
    kompiliert und läuft normal aber keine gmon.out-Datei erstellt.

  • Möglich, Duplikat der stackoverflow.com/questions/1101545/..., obwohl eine der Antworten, die behauptet, dass gprof jetzt funktioniert auf OS X 10.6. Ich kann nicht sehen, dass, du machst nichts falsch, genau das, was du tust funktioniert, wie Sie erwarten würden, auf meinem Linux-system.
  • Ja, ich habe 10.8.5, sah ich, dass die Frage auch, aber ich dachte, ich würde einen neuen thread starten, weil ich eine neuere version von OS X, und dieser thread scheint nicht überall zu bekommen. Es gibt auch eine "test ist nicht von der host-Architektur" - Problem, die andere person begegnet, die ich nicht habe.
  • Trotz was die Leute sagen, -pg funktioniert nicht auf jedem meiner Systeme 10.7-10.9.4. Ich glaube, Sie können installieren Sie Ihre eigene version von gcc (unabhängig von der Apple-version zur Verfügung gestellt) und-profiling wird dort arbeiten.
  • Auch wenn gprof nicht hier arbeiten, Sie erhalten keine samples in Ihren code, weil, außerhalb des I/O gprof nicht sehen, jedenfalls den code, den Sie zusammengestellt haben, dauert etwa eine Nanosekunde. Könnte es laufen Tausende Male in der Zeit zwischen gprof Proben.
  • -pg und gprof definitiv nicht für mich arbeiten in OSX 10.10.3. Sogar versucht, läuft cc eher als clang und explizit aufrufen exit.
  • auf meinem Mac /usr/bin/cc ist symlinked auf /usr/bin/clang

InformationsquelleAutor nukeguy | 2013-11-07
Schreibe einen Kommentar