Estado de impresión / registro de una variable a través del tiempo de ejecución del programa en PHP? -- php campo con debugging campo con xdebug camp Relacionados El problema

Print/log state of a variable across the runtime of the program in PHP?


0
vote

problema

Español

Así que tengo una pieza de código PHP Long , que modifica una matriz global usando los bucles / si las declaraciones.

¿Hay alguna forma directa de imprimir el valor de la matriz en cada cambio hecho a él? Tal vez usando xdebug?

Preferiría un registro textual en lugar de hacer una línea por línea de depuración utilizando XDEBUG.

Original en ingles

So I have a long piece of PHP code, which modifies a global array using loops/if statements.

Is there any direct way to print the value of the array on every change made to it? Perhaps using XDebug?

I'd prefer a textual log instead of doing line by line debugging using XDebug.

        

Lista de respuestas

0
 
vote

Bueno, una forma de hacerlo a través de la salida JS: Instale Firebug y luego puede usar <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item1" android:icon="@android:drawable/ic_menu_help" android:title="Help" /> <item android:id="@+id/item2" android:icon="@android:drawable/ic_menu_manage" android:title="Settings" /> </menu> 1 y <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item1" android:icon="@android:drawable/ic_menu_help" android:title="Help" /> <item android:id="@+id/item2" android:icon="@android:drawable/ic_menu_manage" android:title="Settings" /> </menu> 2 , etc. ( ver la documentación ).

 

Well, one way of doing it via outputting JS: Install Firebug and then you can use console.log(...) and console.debug(...), etc. (see the documentation).

 
 
   
   
0
 
vote

xdebug admite trazas de funciones, que voltean todas las llamadas de función a un archivo en el disco (consulte http://xdebug.org / docs / ejecutar_trace ). Dado que una versión reciente, las trazas de funciones también pueden configurarse para mostrar los cambios en las variables también. Puede encenderlo con la configuración xdebug.collect_assignment (consulte: http://xdebug.org/docs/execution_trace #collect_assignments ).

 

Xdebug supports function traces, which dump every function call to a file on disk (see http://xdebug.org/docs/execution_trace). Since a recent version, the function traces can also be configured to show changes to variables as well. You can turn that on with the xdebug.collect_assignment setting (See: http://xdebug.org/docs/execution_trace#collect_assignments).

 
 
0
 
vote

Sin XDEBUG, es posible que tenga que definir un objeto personalizado (implementando <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item1" android:icon="@android:drawable/ic_menu_help" android:title="Help" /> <item android:id="@+id/item2" android:icon="@android:drawable/ic_menu_manage" android:title="Settings" /> </menu> 3 ) en lugar de la matriz, y inicie sesión <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item1" android:icon="@android:drawable/ic_menu_help" android:title="Help" /> <item android:id="@+id/item2" android:icon="@android:drawable/ic_menu_manage" android:title="Settings" /> </menu> 4 , START MOFTED ROMADO:

  <menu xmlns:android="http://schemas.android.com/apk/res/android">     <item android:id="@+id/item1"           android:icon="@android:drawable/ic_menu_help"           android:title="Help" />     <item android:id="@+id/item2"           android:icon="@android:drawable/ic_menu_manage"           android:title="Settings" /> </menu> 5  
 

Without xdebug, you may have to define a custom object (implementing ArrayAccess) instead of the array, and log on offsetSet, quick mocked up start:

   class ArrayLogger implements ArrayAccess {        protected $array;        public function __construct(array $array){            $this->array = $array;        }        public function offsetGet($idx){            return $this->array[$idx];        }        public function offsetExists($offset) {            return isset($this->array[$offset]);        }        public function offsetUnset($offset) {            unset($this->array[$offset]);        }        public function offsetSet($offset,$value){            //do some logging here            debug_print_backtrace();            var_dump($this->array,$offset,$value)            //and actually, you may need to inspect $value for arrays. & convert them all to ArrayLogger's before setting this:            $this->array[$offset] = $value;        }    } 
 
 

Relacionados problema

14  NetBeans y Xdebug en Linux  ( Netbeans and xdebug in linux ) 
He instalado Xdebug, y puedo confirmar desde phpinfo() que está instalado correctamente. He tomado todos los pasos dados en todos los sitios que se les ocur...

0  Depuración pegada en phpsorm  ( Debugging stuck on phpstorm ) 
La depuración ya no funciona en ninguno de mis proyectos de My PhpStorm, cuando comienzo a escuchar la conexión entrante, el script se bloquea hasta que me de...

5  Los puntos de interrupción se ignoran por completo al depurar la aplicación CAKEPHP  ( Breakpoints are completely ignored when debugging cakephp application ) 
Estoy desarrollando en NetBeans una aplicación CAKEPHP y finalmente logró conectarse a la conexión a las sesiones de depuración XAMPP (PHP 5.3.1 w / xdebug v2...

403  ¿Cómo depuran los scripts PHP? [cerrado]  ( How do you debug php scripts ) 
cerrado . Esta pregunta debe ser más enfocado . Actualmente no está aceptando respuestas. Cerrado h...

3  Las declaraciones de ECHO de PHP no se muestran en la salida del navegador en Eclipse w / xdebug?  ( Php echo statements dont show in browser output in eclipse w xdebug ) 
Estoy probando Xdebug en XAMPP usando Win7-64 con Eclipse PDT. Estoy depurando de un simple script que hace eco de declaraciones. Puedo pasar por encima de es...

5  ¿Cómo depurar fácilmente el diseño XML ADVERTENCIA / ERROR?  ( How to easily debug layout xml warning error ) 
Me quedé atascado en este error: Warning: simplexml_load_string(): Entity: line 46: parser error : Comment not terminated in */lib/Varien/Simplexml/Config...

0  PHP: ¡Solo incluye archivos al ejecutar PHING?  ( Php only include files when running phing ) 
Tengo la siguiente estructura de carpetas: /main /loader.php /build.xml /components /package1 /class1.php /package2...

39  La depuración remota no se detiene en los puntos de interrupción  ( Remote debugging wont stop at breakpoints ) 
Estoy teniendo un problema con XDEBUG que no se detiene en los puntos de interrupción al usar la depuración remota (todo está bien al ejecutar scripts a travé...

0  Solo para conocer el valor de una variable utilizando XDEBUG en VIM  ( Just to know the value of a variable using xdebug in vim ) 
Soy nuevo en la depuración utilizando Xdebug (o cualquier otro software), así que instalé este complemento , y seguí a estos instrucciones solo para conoce...

0  Xdebug normalmente funciona, pero no se desencadena cuando lo llamo desde otro servidor localmente  ( Xdebug normally works but does not trigger when i call it from another server l ) 
Tengo dos aplicaciones que se ejecutan localmente, se escribe en Golang, y la otra es PHP. Cada vez que depara la aplicación PHP al acceder a él a través del ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos