Ich versuche, xdebug zu verwenden, um eine in php7 geschriebene Anwendung zu profilieren.qcachegrind Fehler: Unbekanntes Dateiformat. Datei von PHP xdebug generiert
Ich habe ein Skript geschrieben, dass die Folge ini
Einstellungen setzt:
ini_set('xdebug.trace_format',1); // Note: I tried 0 and 2 here as well
ini_set('xdebug.profiler_enable',1);
xdebug_start_trace('/tmp/cachegrind.out');
// RUN CODE HERE
xdebug_stop_trace();
Lauf des Skript der cachegrind-Dateien erstellt, wie ich erwarten würde:
[email protected]:/# ls /tmp | grep cachegrind
cachegrind.out.0028fd.xt
cachegrind.out.0072ab.xt
cachegrind.out.009b09.xt
cachegrind.out.025ac3.xt
Hier sind die ersten paar Zeilen eine Cachegrind-Datei, so dass das Format sichtbar ist:
Version: 2.4.1
File format: 4
TRACE START [2016-10-28 05:26:57]
2 3784 1 0.242945 2692856
2 3785 0 0.242955 2692800 DI\Container->set 1 /path/public/api/index.php 100
2 3785 1 0.242966 2692800
2 3786 0 0.242973 2692800 spl_autoload_call 0 /path/public/api/index.php 103
3 3787 0 0.242982 2692896 Fuel\Core\Autoloader::load 1 /path/public/api/index.php 103
4 3788 0 0.242990 2692896 strpos 0 /path/fuel/core/classes/autoloader.php 219
Allerdings, wenn Ich versuche, diese Datei zu öffnen in qcachegrind
, nicht um sie zu öffnen:
Die Fehlermeldung lautet: „Fehler beim Laden des /path/to/cachegrind/file
: Unbekannt Dateiformat
Wer weiß, was hier vor sich geht? Ich möchte ein Tool wie dieses verwenden können, um meine Anwendung zu profilieren.
Ich schälte auch $ 30 aus, um zu versuchen, die Datei in MCG zu öffnen, aber diese App stürzt sofort beim Öffnen dieser Dateien ab.
Als Randbemerkung, ist die Datei ziemlich groß, aber nicht so groß, dass ich apps erwarten ausgeflippt:
❯ ls -al /Users/johnpc/repos/cachegrind.out.094ffa.xt
-rw-r--r-- 1 johnpc staff 62744095 Oct 28 02:13 /Users/johnpc/repos/cachegrind.out.094ffa.xt
Ah, ich verstehe. Wenn Sie sich die [docs] (https://xdebug.org/docs/profiler) näher ansehen, heißt es ausdrücklich: 'Diese Einstellung kann nicht in Ihrem Skript mit ini_set()' gesetzt werden – johncorser