Domanda

Uso xdebug per il debug e la comprensione del codice nei progetti php ormai da un po 'di tempo, e talvolta mi sono imbattuto in situazioni in cui non è chiaro cosa stia accadendo all'interno di PHP.

È possibile impostare xdebug o gdb in modo da poter rintracciare le effettive funzioni integrate di php?

È stato utile?

Soluzione

Se stai usando un sistema macosx, solaris o un recente sistema freebsd, puoi lanciarne un po '. Può tornare utile per quelli troppo numerosi "WTF sta facendo PHP?" momenti.

Altri suggerimenti

Ne dubito, xdebug è pensato per tracciare il tuo codice PHP, non gli interni. Si presume che gli interni siano privi di bug (che ovviamente non lo sono a volte, ma questo va oltre lo scopo di xdebug).

Puoi sempre guardare la fonte PHP se vuoi sapere cosa fanno le funzioni integrate, ma a volte è piuttosto peloso. I documenti manuali di PHP mi hanno sempre servito abbastanza bene quando voglio sapere cosa faranno.

Puoi usare gdb per tracciare il codice di livello C, a condizione che php sia compilato con simboli di debug. Dai un'occhiata qui per iniziare:

http://derickrethans.nl/phps_segmentation_faults_gdbfu.php

Un modo per testare l'output del motore Zend, per dare un'occhiata all'interno degli opcode, puoi usare Il VLD di Derick Rethan (Vulcan Logic Dissasembler) , che sembra essere anche su PECL . Nota: funziona solo su sistemi * nix (consultare il sito per i requisiti).

Alcuni esempi di debug di questi codici operativi sono disponibili su Blog di Sara Golemon , in articoli come Comprensione dei codici operativi e Come è lungo un pezzo di spago? .

Esiste anche un'ottima estensione di Google Chrome Console PHP con libreria php che consente di:

  • Vedi errori e amp; eccezione nella console e ampli JavaScript di Chrome; nei popup di notifica.
  • Scarica qualsiasi variabile di tipo.
  • Esegui il codice PHP da remoto.
  • Proteggi l'accesso tramite password.
  • Raggruppa i log della console su richiesta.
  • Vai al file degli errori: riga nell'editor di testo.
  • Copia i dati di errore / debug negli Appunti (per tester).

Consiglia a tutti!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top