2009-09-21 11 views
28

Sto cercando di trovare una GUI per analizzare e visualizzare i file di traccia Xdebug. Sebbene tu possa renderli leggibili dall'uomo, il solo numero di linee lo rende inutilizzabile.GUI di Xdebug trace?

Sto cercando qualcosa come KCachegrind ma per un file di traccia. Il mio obiettivo principale dietro tutto questo è trovare ciò che sono i maiali della memoria.

risposta

2

C'è uno script per vim su xdebug.org che ti permette di "piegare il codice" per renderlo un po 'più facile da scavare, ma non ho mai visto nulla che possa analizzare quel formato in qualsiasi tipo di rappresentazione grafica .

+0

Cool lo controllerò. E se mai avrò tempo, forse scriverò un parser di traccia basato sul web. – nolanpro

3

Ho appena usando iniziato xdebug oggi sono imbattuto in questo problema un paio di ahours fa troppo . Mi piacerebbe un gui stile cachegrind per le tracce di xdebug.

Molte chiamate di livello inferiore contengono informazioni non necessarie come le chiamate strlen(). Ho scoperto che xdebug avvia il file di traccia ha 21 spazi per le chiamate di livello superiore alle funzioni, 23 spazi per le chiamate di secondo livello, 25 e così via. Così si può fare è grep le linee con più di 22 o più spazi per elencare le chiamate di alto livello, 24 per sencond e le chiamate di livello superiore, ecc

cat trace.xt | grep -v '      ' 

La traccia parser basato sul web suona una buona idea. Potrebbe analizzare l'output in un gruppo di elementi ul e li annidati che potrebbero essere compressi. Anche io sono stretto per il tempo, ma se sei pronto per una collaborazione fammi sapere.

-1

Non so se questo è esattamente quello che ti serve, ma puoi abilitare la profilatura in XDebug e quindi scaricare un grosso file cachegrind. Sul mio Mac, ho quindi usato MacCallGrind per visualizzare quei dump in una GUI. Posso almeno vedere l'intera pila di chiamate per una determinata richiesta e quanto tempo ogni chiamata ha preso. È questo che vuoi dire? Non ho ancora funzionato in Eclipse PDT.

http://www.xdebug.org/docs/profiler

+1

I file di Cachegrind sono fantastici, uso kcachegrind in ubuntu per visualizzarli. Sfortunatamente non mostrano l'utilizzo della memoria, che è davvero quello che sto cercando. Suppongo che a un certo punto abbiano mostrato la memoria, ma quella funzione è stata rimossa perché non era accurata. Tuttavia, i file di traccia li hanno ancora. – nolanpro

+4

La domanda riguardava i file di traccia, non il profiler. – Joey

5

ho trovato questo: xdebug trace file parser.

+0

404 non trovato ... –

+1

Lo sviluppatore ha cambiato dominio, è ora su http://thomashamba.ch/xdebug-trace-file-parser.html – TwoD

+0

È morto anche ora. – johnny

2

WebGrind fornisce un modo semplice e bello per vedere Cachegrind i file attraverso un browser:

Ma guardate XHProf che è open source da Facebook, è molto facile da installare, cattura molte metriche importanti, e perfino genera grafici di chiamata:

+11

Si trattava di file di traccia, non di xdebug profiler (che produce file di cachegrind). – Joey

2

Ho scritto un semplice visualizzatore utilizzando.WinForms NET:

https://github.com/ron-inbar/xdebug-trace-viewer

Avrete bisogno di Visual Studio (2010 o successiva) per costruirlo. Sentiti libero di personalizzare il codice.

enter image description here

+2

Questo sembra fantastico. È piuttosto divertente uno strumento di debug php scritto in .net. – Lightbulb1

2

Puoi provare Xdebug Trace Explorer. Visualizza in stile albero. L'ho costruito dopo essermi guardato intorno e non ho trovato alcuna soluzione di corrispondenza. Ancora non ottimizzare per file di grandi dimensioni ancora:

https://github.com/tungbi/xdebug-trace-explorer