visit see please org not installed info how form extension docs debug php eclipse apache debugging xdebug

php - see - Así que Eclipse y xdebug entran en un bar y mi servidor apache muere



xdebug php info (4)

En este momento, mi mejor conjetura en cuanto a lo que causó esto es tener dos proyectos en el mismo espacio de trabajo con diferentes fantasmas en la misma ip.

También estoy depurando dos proyectos, en el mismo espacio de trabajo Eclipse con diferentes VHosts en la misma IP y uso de Apache.

Y no estoy experimentando tus problemas.

Aunque mi apache y todo está ubicado en una emulación de vmware de Debian y mi Eclipse reside en WinXP.

Mejor

Raffael

Estoy usando windows xp x86, wamp, apache2, php 5.3 x86, eclipse php y xdebug, ejecutándome en localhost como un servidor virtual y un servidor virtual https

información de la versión del eclipse
Eclipse para desarrolladores de PHP Versión: Helios Release Build id: 20100617-1415

Había logrado con éxito, de alguna manera, configurar eclipse y xdebug y todo estaba bien.

Luego tuve que hacer una rama svn de mi proyecto, reconfigurar apache con 2 nuevos hosts virtuales y actualizar mis archivos host de Windows.

Ahora cuando lanzo el modo de depuración en eclipse todo muere.

Específicamente, si no establezco puntos de interrupción, la aplicación funciona bien, para el problema que estoy tratando de depurar debo evitar primero.

Si configuro un punto de interrupción, la aplicación se detiene en el punto de interrupción y el eclipse parece estar sosteniendo la pelota. Pero ahora, cuando presiono continuar, o paso, o paso, o estornudo, eclipse me dice que la ejecución se ha reanudado, pero la aplicación continúa bloqueándose, y tengo que reiniciar apache.

Sospecho que hay una interrupción en la comunicación entre eclipse y xdebug, porque me parece que eclipse está enviando mi comando de continuar o pasar, pero xdebug no lo está recibiendo.

Pero incluso si ese es el caso, no sé qué hacer al respecto. ¿Dónde debería estar mirando?

Actualizar:
Pude depurar con éxito utilizando notepad ++, su plugin xdebug y, como un hombre de las cavernas, escribiendo & XDEBUG_SESSION_START = session_name en la url. Sin embargo, a pesar de mi amor por npp, su plugin de depuración es bastante defectuoso ...

Así que me di cuenta de un anuncio en stackoverflow para algo llamado "phpstorm", que profesaba ser un php ligero pero completo, con soporte nativo de xdebug. La demostración requirió un reinicio para que funcione, y se siente como trabajar en una tabla de borrador inestable, pero logró depurar muy bien mi pequeña aplicación de prueba y la aplicación real, que es más de lo que puedo decir para el eclipse en el momento, a pesar de que es probablemente mi culpa.

Probablemente debería haber publicado esto antes: / Aquí está mi sección phpinfo () xdebug

xdebug xdebug support enabled Version 2.1.0 Supported protocols Revision DBGp - Common DeBuGger Protocol $Revision: 1.145 $ Directive Local Value Master Value xdebug.auto_trace Off Off xdebug.collect_assignments Off Off xdebug.collect_includes On On xdebug.collect_params 0 0 xdebug.collect_return Off Off xdebug.collect_vars Off Off xdebug.default_enable On On xdebug.dump.COOKIE no value no value xdebug.dump.ENV no value no value xdebug.dump.FILES no value no value xdebug.dump.GET no value no value xdebug.dump.POST no value no value xdebug.dump.REQUEST no value no value xdebug.dump.SERVER no value no value xdebug.dump.SESSION no value no value xdebug.dump_globals On On xdebug.dump_once On On xdebug.dump_undefined Off Off xdebug.extended_info On On xdebug.file_link_format no value no value xdebug.idekey no value no value xdebug.manual_url http://www.php.net http://www.php.net xdebug.max_nesting_level 100 100 xdebug.overload_var_dump On On xdebug.profiler_aggregate Off Off xdebug.profiler_append Off Off xdebug.profiler_enable Off Off xdebug.profiler_enable_trigger Off Off xdebug.profiler_output_dir C:/xampp/tmp C:/xampp/tmp xdebug.profiler_output_name xdebug_profile.%p xdebug_profile.%p xdebug.remote_autostart Off Off xdebug.remote_connect_back Off Off xdebug.remote_cookie_expire_time 3600 3600 xdebug.remote_enable On On xdebug.remote_handler dbgp dbgp xdebug.remote_host localhost localhost xdebug.remote_log c:/xampp/apache/logs/xdebug.log c:/xampp/apache/logs/xdebug.log xdebug.remote_mode req req xdebug.remote_port 9000 9000 xdebug.scream Off Off xdebug.show_exception_trace Off Off xdebug.show_local_vars Off Off xdebug.show_mem_delta Off Off xdebug.trace_format 0 0 xdebug.trace_options 0 0 xdebug.trace_output_dir C:/xampp/tmp C:/xampp/tmp xdebug.trace_output_name trace.%c trace.%c xdebug.var_displ ay_max_children 128 128 xdebug.var_display_max_data 512 512 xdebug.var_display_max_depth 3 3

Aquí hay un archivo de registro xdebug de cuando reproduzco el problema

Log opened at 2011-01-03 08:56:22 -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///C:/xampp/htdocs/lab/zf-tutorial/public/index.php" language="PHP" protocol_version="1.0" appid="4404" idekey="ECLIPSE_DBGP"><engine version="2.1.0"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2010 by Derick Rethans]]></copyright></init> <- feature_set -i 33 -n show_hidden -v 1 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="33" feature="show_hidden" success="1"></response> <- feature_set -i 34 -n max_depth -v 3 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="34" feature="max_depth" success="1"></response> <- feature_set -i 35 -n max_children -v 31 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="35" feature="max_children" success="1"></response> <- feature_get -i 36 -n encoding -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_get" transaction_id="36" feature_name="encoding" supported="1"><![CDATA[iso-8859-1]]></response> <- feature_get -i 37 -n supports_async -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_get" transaction_id="37" feature_name="supports_async" supported="1"><![CDATA[0]]></response> <- stdout -i 38 -c 1 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stdout" transaction_id="38" success="1"></response> <- stderr -i 39 -c 1 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stderr" transaction_id="39" success="0"></response> <- breakpoint_set -i 40 -t line -f file:///C:%5Cxampp%5Chtdocs%5Clab%5Czf-tutorial%5Cpublic%5Cindex.php -n 21 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="40" id="44040001"></response> <- run -i 41 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="41" status="break" reason="ok"><xdebug:message filename="file:///C:/xampp/htdocs/lab/zf-tutorial/public/index.php" lineno="21"></xdebug:message></response> <- stack_get -i 42 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="42"><stack where="{main}" level="0" type="file" filename="file:///C:/xampp/htdocs/lab/zf-tutorial/public/index.php" lineno="21"></stack></response> <- stack_get -i 43 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="43"><stack where="{main}" level="0" type="file" filename="file:///C:/xampp/htdocs/lab/zf-tutorial/public/index.php" lineno="21"></stack></response> <- eval -i 44 -- JHRoaXMtPmZpZWxkc1snYm9vbF9jb21wbGV0ZSdd -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="44"><property address="92404284" type="bool"><![CDATA[-1]]></property></response> <- eval -i 45 -- JHRoaXMtPnN0YWdlLT5nZXQoJ2Jvb2xfY29tcGxldGUnKQ== -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="45"><property address="92404284" type="bool"><![CDATA[-1]]></property></response> <- eval -i 46 -- JHRoaXMtPmZpZWxkc1snYm9vbF9jb21wbGV0ZSdd -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="46"><property address="92404284" type="bool"><![CDATA[-1]]></property></response> <- eval -i 47 -- JHRoaXMtPnN0YWdlLT5nZXQoJ2Jvb2xfY29tcGxldGUnKQ== -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="47"><property address="92404284" type="bool"><![CDATA[-1]]></property></response> === breakpoint reached, execution pauses. In eclipse I click "step over" <- step_over -i 48 === end of log


Esto puede sonar como una pregunta tonta, y me disculpo si es así, pero ¿creó un nuevo servidor PHP dentro de su configuración de depuración Eclipse que se asigna a su nuevo host virtual?

Cada vez que creo un nuevo vhost, generalmente creo una Configuración de depuración totalmente nueva y un nuevo Servidor PHP dentro de esa configuración que se asigna al vhost, de modo que pueda seleccionarlo fácilmente desde el menú desplegable Configuraciones de depuración cuando inicie una nueva sesión.

Para cualquiera que se lo pregunte, hago esto yendo a Ejecutar -> "Configuraciones de depuración ...", selecciono "Página web de PHP" en el menú de la izquierda, hago clic en + (o duplicado si ya tengo uno), y luego bajo el Ficha del servidor, donde dice "Servidor PHP", hago clic en "Nuevo" y luego escribo la URL del vhost para la raíz del documento.


wooooooooooooo

https://bugs.eclipse.org/bugs/show_bug.cgi?id=312951#c8

Crear un nuevo espacio de trabajo me permite depurar con éxito.

En este momento, mi mejor conjetura en cuanto a lo que causó esto es tener dos proyectos en el mismo espacio de trabajo con diferentes fantasmas en la misma ip.

Así que no voy a hacer eso más.


Este artículo parece prometedor

Tanto XDebug como Eclipse (en su env php de php) pueden usar el protocolo DBGp a simple vista. Basado en ese artículo, es posible que pueda hacer que las cosas funcionen al interferir con los archivos .htaccess de Apache, o al ejecutar un proxy DBGp (lo que sea que sea). Más detalles en el artículo.

Sospecho que tanto XDebug como Eclipse se están conectando a la misma sesión de depuración de PHP, pisando uno con los dedos del pie, haciendo que Hilarity llegue a Ensue.

Eso o "comportamiento indefinido". De cualquier manera.