Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
tecnicas:debugger [01/01/2020 20:56] pedro creado |
tecnicas:debugger [20/03/2022 18:29] (actual) pedro |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== Utilizando el Debugger ====== | + | ====== El modo Debug ====== |
- | Como Néfele lo hemos creados entre desarrolladores de software de gestión con Xailer, estamos acostumbrados a utlizar el Debugger de Xailer, en Néfele no tiene sentido ya que no puedes ejecutar tu aplicación dentro del IDE, pero teniamos claro que queríamos algo similar o mejor. | + | Como Néfele lo hemos creados entre desarrolladores de software de gestión que utilizamos habitualmente [[https://xailer.com|Xailer]], estamos acostumbrados a utilizar el modo Debug de Xailer, en Néfele no tiene sentido ya que no puedes ejecutar tu aplicación dentro del IDE, pero teníamos claro que queríamos algo similar o mejor. |
- | Lo primero es que utilizamos el propio IDE para habilitar y deshabilitar el Debugger en nuestras aplicaciones. | + | Utilizamos el propio IDE para habilitar y deshabilitar el modo Debug en nuestras aplicaciones. |
{{ :tecnicas:xailerdebug.png?nolink&100 |}} | {{ :tecnicas:xailerdebug.png?nolink&100 |}} | ||
- | Esto nos permite que nuestra aplicación sepa si esta en modo debugger solo consultado a la función de Xailer **IsDebug()**. | + | Esto nos permite que nuestra aplicación sepa si esta en modo Debug solo consultado a la función de Néfele [[funciones:nfl_IsDebug]]. |
Una vez habilitado, si se produce un error en nuestra aplicación nos mostrara el error en el navegador que realizo la consulta. | Una vez habilitado, si se produce un error en nuestra aplicación nos mostrara el error en el navegador que realizo la consulta. | ||
Línea 10: | Línea 10: | ||
{{ :tecnicas:errornefele1.png?nolink&608 |}} | {{ :tecnicas:errornefele1.png?nolink&608 |}} | ||
- | También podremos enviar mensajes a la consola del navegador. | + | También podremos enviar mensajes a la consola del navegador con [[metodos:logdebug|LogDebug()]]. |
<Code:xailer linenums:1> | <Code:xailer linenums:1> | ||
WITH OBJECT WBevel():New(:WO) | WITH OBJECT WBevel():New(:WO) | ||
Línea 23: | Línea 23: | ||
{{ :tecnicas:logdebug.png?nolink&246 |}} | {{ :tecnicas:logdebug.png?nolink&246 |}} | ||
- | De esta manera tambien se nos comunicara Néfele con algunos errores que aunque no producen la rotura de la pagina si es conveniente resolverlos, por ejemplo cuando por error le pongamos el mismo **[[propiedades:cId]]** a dos controles. | + | De esta manera también se nos comunicara Néfele con algunos errores que aunque no producen la rotura de la pagina si es conveniente resolverlos, por ejemplo cuando por error le pongamos el mismo **[[propiedades:cId]]** a dos controles. |
{{ :tecnicas:idduplicado.png?nolink&402 |}} | {{ :tecnicas:idduplicado.png?nolink&402 |}} | ||
+ | La tercera funcionalidad del modo Debug nos la da [[utilidades:nefeleconsole|Néfele Console]] que es parte de las herramientas que acompañan a Néfele. | ||
+ | Desde nuestros programas podemos enviar mensajes a [[utilidades:nefeleconsole|Néfele Console]] con la instrucción [[ocgi:console|oCGI:Console()]] de esta manera. | ||
+ | oCGI:Console("Mensaje que aparecerá en Néfele Console") | ||
+ | | ||
+ | También nos aparecerán en NefeleConsole los mensajes generados con los métodos [[metodos:LogDebug]] y [[metodos:LogError]] de cualquier control de Néfele. | ||
+ | |||
+ | {{:metodos:logdebug_nefeleconsole.png?nolink&400|}} | ||
+ | {{:metodos:logerror_nefeleconsole.png?nolink&400|}} | ||
+ | |||
+ | |||
+ | El modo Debug de Néfele también nos añade comentarios en el código HTML generado para que nos sea más fácil depurar los posibles errores, y nos presenta los parámetros de una forma legible. | ||
+ | |||
+ | {{ :tecnicas:condebug.png?nolink&447 |}} | ||
+ | |||
+ | Cuando no estamos en modo Debug los parámetros son algo menos legibles. | ||
+ | |||
+ | {{ :tecnicas:sindebug.png?nolink&488 |}} | ||
+ | |||
+ | \\ | ||
+ | ===== Modo Debug en Producción ===== | ||
+ | Cuando nuestro CGI esta en producción y lo hemos compilado sin Debug, podemos forzar a que pase a modo Debug añadiendo en el directorio donde este nuestro CGI un fichero con el mismo nombre del CGI con la extensión **.debug**. | ||
+ | |||
+ | Al forzar el modo Debug en nuestro CGI en producción se habilita también la generación de ficheros error.log con información de los errores producidos e información de nuestro CGI en el momento de producirse el error. | ||
+ | |||
+ | Este fichero **.debug** se comporta como un **.ini** por lo que podemos utilizarlo para deshabilitar estos parámetros de manera individual. | ||
+ | |||
+ | [Debug] | ||
+ | Force = .T. | ||
+ | LogError = .T. | ||
+ | |||
+ | |||
+ | ~~DISCUSSION|Comentarios Modo Debug~~ |