Problem mit gprof unter OS X: [program] gehört nicht zur Host-Architektur

8

Ich habe Probleme mit gprof auf OS X. Die Datei test.c ist:

%Vor%

und mein Terminal sieht so aus:

%Vor%

Bearbeiten: es erzeugt auch nicht die Datei gmon.out .

Was ist hier los?

    
Jesse Beder 09.07.2009, 02:28
quelle

3 Antworten

9

Die Reihe von Ereignissen soll hier wie folgt funktionieren:

  1. Kompilieren Sie den Code mit der Option -pg
  2. Linkcode mit der Option -pg
  3. Programm ausführen
  4. Programm erzeugt die Datei gmon.out
  5. Führen Sie gprof
  6. aus

Das Problem ist, dass Schritt 4 nie passiert. Es gibt sehr wenig Informationen über diesen spezifischen Fehler. Der allgemeine Konsens in den letzten Jahren scheint zu sein, dass Apple lieber Hai anstelle von Hai verwenden würde, und sie waren sehr lax darüber, Fehler mit gprof zu beheben.

Kurz gesagt: Installieren Sie Xcode, man shark

    
Curtis Tasker 09.07.2009, 03:11
quelle
4

Leider funktioniert gprof nicht unter Mac OS X. Sie sollten stattdessen Shark verwenden. Es ist Teil der Entwicklerwerkzeuge in /Developer/Applications/Performance Tools/Shark .

Update: Es scheint, als ob gprof jetzt unter Mac OS X 10.6 (Snow Leopard) mit den neuesten Entwicklertools funktioniert.

    
mark4o 09.07.2009 03:07
quelle
3

Es klingt, als ob test mit einer Architektur erstellt wurde, die gprof nicht erwartet. Versuchen Sie Folgendes:

%Vor%

Das neuere MacOS unterstützt ausführbare Dateien von der IBM PPC- und Intel x86-Architektur. Ein Teil der Toolkette scheint etwas dichter zu sein. Gprof scheint zu erwarten, dass sich die ausführbare Datei in der nativen Architektur befindet. Wenn Sie jedoch das Dienstprogramm arch verwenden, um die Ausführung der nicht nativen Architektur zu erzwingen, scheint es ordnungsgemäß zu funktionieren. Es gab eine Diskussion in einem anderen Kontext vor einer Weile. Ich habe dort einige nützliche Links und weitere Informationen eingefügt.

    
D.Shawley 09.07.2009 03:05
quelle

Tags und Links