Ich habe ein Profiling-Profil in Instruments.app von der leeren Vorlage erstellt, und ich möchte es verwenden, um ein Befehlszeilenprogramm zu profilieren. Das Problem ist, dass das Programm ziemlich schnell (in wenigen Sekunden) beendet wird, was bedeutet, dass ich es nicht einfach in der Dropdown-Liste "Instrumente" auswählen kann, um es anzuhängen, während es läuft.
Gibt es eine Möglichkeit, ein vorhandenes Instruments-Profil beim Starten einer Befehlszeilenanwendung zu verwenden und sofort mit dem Sammeln von Daten zu beginnen, anstatt sie an einen laufenden Prozess anzuhängen?
Ich habe kein Xcode-Projekt oder sogar den Quellcode. Ich möchte einfach direkt nach dem Start an eine bestehende Anwendung anhängen. Wenn es relevant ist, verwende ich Instrumente 6.1 auf OS X Yosemite.
Wenn es irgendwie möglich wäre, das Profiling direkt von der Befehlszeile aus zu starten, und nicht von der GUI von Instruments, wäre das noch besser, aber ich bin mir nicht sicher, ob das möglich ist.
Erstellen Sie eine ausführbare Befehlszeile mit aktivierten Debug-Symbolen:
gcc -Wall -g -O3 profile_me.c -o profile_me
Starten Sie Instrumente, wählen Sie Time Profiler
.
Choose target...
aus dem hierarchischen Menü auf der rechten Seite.
Choose target
zu Ihrer ausführbaren Datei und wählen Sie sie aus. Legen Sie bei Bedarf auch Befehlszeilenoptionen, Umgebungsvariablen und das Arbeitsverzeichnis fest.
Choose
, um die Zieloptionen zu speichern und das Dialogfeld Choose target
zu schließen. Sie sollten jetzt den Zielnamen rechts neben Ihrem Computernamen in der oberen linken Ecke des Time Profiler-Fensters sehen:
Tags und Links profiling xcode macos instruments