El año 2012 comenzó con un par de horas de profunda depuración por dos (conocido) errores bastante molesto. , con la globale (e famosa) omonima istanza $wpdb . La primera, entre otras cosas, un poco anticuado, presente en el núcleo de WordPress con respecto al método update() de clase wpdb , con el global (y famosos) instancia del mismo nombre, $wpdb . El defecto aparece cuando se intenta actualizar un campo NULL . A pesar de las numerosas quejas, el equipo de desarrollo de WordPress no parece encontrar una solución al molesto problema. De hecho, hasta la fecha, la única solución es escribir el código SQL para su cuenta.
Artículos con la etiqueta 'depuración'
Bachi principios de año: WordPress y WPML get_page_by_path update ()
Fragmento muy breve: conjunto de los archivos de registro en WordPress
si attivano i log a video prodotti da PHP, riempiendo lo schermo di Notice, Warning e quant'altro. Al establecer el archivo wp-config.php define la define('WP_DEBUG', true); registros son activados por los productos de PHP en pantalla, llenando la pantalla, aviso, advertencia, etc. Si los controles para "volar" esto puede ser útil en situaciones de ejercicio es muy recomendable, por razones obvias. Por suerte, WordPress le permite "transmitir" estos registros a un archivo, que por defecto se encuentra en /wp-content/debug.log .
Truco muy breve: registro de objetos JavaScript
Si usted va a desarrollar en un ambiente donde es imposible utilizar las herramientas de depuración, como Firebug , como el simulador de iPhone de Apple en Xcode, que puede llegar a ser frustrante para encontrar problemas, incluyendo el acceso incorrecto a todas las propiedades de un objeto. Aquí es que la utilización de obras alert() es fundamental!
Instrucciones de codificación
Cuando ya no se trabaja solo para todos los desarrolladores la hora de encontrar una guía en la escritura de código. Protocolos y estándares que permiten "leer" fácilmente e intervenir (más fácil) en el código de los demás.
Cuando estamos trabajando en un proyecto más programadores, a menudo de diferentes idiomas, usted debe encontrar una forma común de escribir, y normas internas externas de documentación en el código. En mi trabajo me suele interactuar con:
- Objet-C, C / C + +
- PHP
- HTML
- JavaScript
- Actionscript
- CSS
Cómo configurar XCode para usar el iPhone en lugar de un simulador
Xcode: Trucos para depurar en las preferencias
Utilizando las preferencias de Xcode se puede establecer el comportamiento de la atmósfera durante la fase de depuración de una aplicación para iPhone. La configuración por defecto, de hecho, son muy incómodos cuando se intenta y vuelve a intentarlo una aplicación, por ejemplo, después del lanzamiento de nuestra aplicación, debe abrir manualmente la ventana de la consola para ver la salida de varios NSLog() . Xcode también permite a las sesiones anteriores con el fin de obligarnos a limpiar la ventana con la mano. Afortunadamente, usted puede resolver el problema, actuando sobre las preferencias:

Como puede observarse, sólo tiene que seleccionar un elemento en el menú de inicio para decidir qué ventana de depuración que se abra automáticamente en el inicio de nuestra válida si (I & conjunto depurador de consola, pero puede elegir los trajes mejor que usted). A la derecha, entonces nos encontramos con la consola de Auto Debug claro, por lo que siempre comienzan con una consola limpia.
Cómo borrar NSLog () de la fuente de XCode
<a target="_blank" href="http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/Reference/reference.html#//apple_ref/c/func/NSLog">NSLog()</a> una función útil durante las primeras etapas de un proyecto para probar y depurar una aplicación para el iPhone de Apple o, más generalmente, en el entorno XCode. Siendo sólo una función, al igual que el otro, su presencia se hará sentir, incluso cuando la liberación (release) nuestro ejecutable. potrebbero influire sulle performance della nostra applicazione, soprattutto se abbiamo inserito NSLog() all'interno di loop. Se hace necesario para eliminar, de alguna manera, todas las filas de NSLog() de nuestro código, porque ya no es necesaria, y porque las llamadas a NSLog() podría afectar el rendimiento de nuestra aplicación, sobre todo si ponemos NSLog() para 'bucle interno.
Descartar inmediatamente la solución a la "mirada" y "cancelar" porque un día podría ser usado de nuevo. Se excluye la solución de la "apariencia" y "comentarios", incómodo por la misma razón que antes. Afortunadamente, uno. Limpio, simple, y está utilizando el compilador condicionales correcta ¿Qué vamos a hacer en la práctica, y decirle al compilador que excluir - si hay una condición específica - la hora de elaborar nuestras líneas de código que contienen NSLog() .
Las directivas de compilador y las declaraciones de compilación condicional, es un muy poderoso y generalizado. Los procedentes de la elaboración de la norma ANSI-C conoce muy bien y definitivamente utilizzte en muchas situaciones. La peculiaridad de estas "instrucciones" radica en el hecho, mencionado anteriormente, para ser vistos por el compilador y ejecutable no. Esta característica los hace útiles en muchos casos y puede resolver los problemas de otro modo muy molesto.
Veamos un ejemplo de código que, como se predijo, se puede "borrar" de la compilación de código compartido, en nuestro caso NSLog() :
1 2 3 4 5 6 | # Definición de una ACTIVE_NSLOG / / Si la constante se define ACTIVE_NSLOG llenar / / El bloque de código entre # ifdef y # endif # Ifdef ACTIVE_NSLOG " ... bla bla" ) ; NSLog (@ "... bla, bla"); # Endif |
). Las instrucciones condicionales son parte del compilador de la misma familia que #define , también, de hecho, son precedidos por una "libra" ( # ). solo se ACTIVE_NSLOG è definito. En el ejemplo mostrado, hemos definido una constante ACTIVE_NSLOG , las siguientes líneas de código indica al compilador de "incluir" línea NSLog() sólo si ACTIVE_NSLOG se define. Si nos ocupamos, durante la redacción de nuestro código, para realizar llamadas a NSLog() dentro del bloque #ifdef ... #endif per far sparire, alla prossima compilazione, tutti i nostri NSLog() . #ifdef ... #endif , basta con borrar la definición de la constante ACTIVE_NSLOG a desaparecer, la siguiente compilación, todos nuestros NSLog() .
Una mejor y final
Veamos ahora cómo configurar el entorno XCode para mejorar aún más lo que hemos hecho aquí! En primer lugar se elige un nombre de constante que utilizamos en nuestros proyectos para excluir de la compilación NSLog() . o quello che preferite. Usted puede elegir el nombre que desee, desde DEBUG a MIO_DEBUG o lo que sea que usted prefiera. Abra su proyecto, nuevo o viejo. Introduzca todos los NSLog() dentro del bloque (o bloques):
1 2 3 | # Ifdef MIO_DEBUG " ... bla bla" ) ; NSLog (@ "... bla, bla"); # Endif |
Seleccione el archivo principal de su proyecto, haga clic en el botón derecho y elegir la opción Obtener información.

Esto abre una ventana con información sobre el proyecto:

Seleccione la pestaña Crear, comprobar que está en la configuración de depuración (esta es la joya), vaya a la sección definida por el usuario y agregar, a través del botón en la parte inferior izquierda, un nuevo campo llamado OTHER_CFLAGS . En este valor assegnamoli -DMIO_DEBUG=1 . La sintaxis es -D{mia define}=1 .
Este procedimiento tiene dos ventajas:
- No debemos poner en el código
#define MIO_DEBUG 1, pero lo hacemos a través de la información del proyecto. Por lo tanto, cuando vamos a llenar la versión de lanzamiento (el uno sin elNSLog()) no tiene que acordarse de eliminar la línea#define MIO_DEBUG 1 - La constante se define en relación a la configuración, en nuestro caso, de depuración. Por lo tanto, cambiar a la versión de configuración (la liberación) va a estar ausente y las filas constante con
NSLog()no se compila
Conclusiones
El procedimiento anterior puede ser útil en otros casos moltidutine, con NSLog() , no tienen nada que hacer. Las instrucciones condicionales pueden ayudar a que el compilador en una amplia gama de contextos. A menudo son utilizados por los programadores para determinar el tipo de sistema operativo, la versión, el objetivo, la presencia de los procesadores de matemáticas, mientras que el mantenimiento de la misma "misma" fuente.
Para entender, por ejemplo, podemos utilizzre nuestra constante MIO_DEBUG también intervenir en otras áreas del código:
1 2 3 4 5 6 7 8 9 10 | / / Debug si ganan el juego / / Con una puntuación de 100 en vez de 10000:) # Ifdef MIO_DEBUG score == 100 ) if (calificación == 100) # Else score == 10000 ) if (puntuación == 10000) # Endif { ; [HaiVinto mismo]; } |
Para terminar, he aquí algunos ejemplos y variantes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | / / En general, hay # Si la expresión / / Si la declaración similar a la tradicional, por lo que con una expresión de completa / / Comprobar si una constante se define # Constante Ifdef / / Comprobar si NO es una constante definida # Ifndef constante / / Else # Else / / Cerrar el bloque # Endif |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | / / Por ejemplo ... # Define DEBUG 1 5 # define MIA_ALTRA_COSTANTE ... # Si DEBUG / / Rellena el siguiente # Else / / En caso contrario llenar este otro # Endif # Si MIA_ALTRA_COSTANTE> 4 "..." ) ; NSLog (@ "..."); # Endif |
1 2 3 4 | # Ifndef INCLUDE_MIO_FILE # Definir INCLUDE_MIO_FILE # Include "mio_file.h" # Endif |
Traza Actionscript, Objective-C NSLog ()
, usata per il debug delle applicazioni. La toma de posesión de ActionScript para Objective-C (donde se compara el código y la sintaxis de ActionScript y Objective-C), que tienen la característica conveniente en ActionScript trace ( ) , que se utiliza para depurar aplicaciones. Esta función genera una consola en el entorno de desarrollo de Flash. Se utiliza principalmente para la depuración y las pruebas de la "película" / aplicación. En XCode / Objective-C tenemos: NSLog ( ) . di Actionscript: La sintaxis de esta función es muy similar a la trace ( ) en ActionScript:
1 | "Sono una linea di debug" ) ; NSLog (@ "Yo soy la depuración de una línea"); |
En ActionScript, tenemos:
1 | "Sono una linea di debug" ) ; trace ("Yo soy la depuración de una línea"); |
Además del uso de la arroba (@), como se puede ver, son idénticos. Las diferencias (y similitudes) comienzan cuando se quiere mostrar los valores de las variables, por ejemplo, en Actionscript tenemos:
1 2 3 | "Coordinata x:" + x + " coordinata y:" + y ) ; trace ("coordenada x:" + x + "y coordinar:" + y); / / O "Coordinate: " , x , y ) ; trace ("Coordenadas", x, y); |
En Objective-C tenemos:
1 | "Coordinata x:%i coordinata y:%i" , x, y ) ; NSLog (@ "Coordenada x: la coordenada%% i", x, y); |
che opera sull'Apple System Log. Nota:
NSLog()en realidad llama a la función más genéricaNSLogv ( )que funciona en el registro del sistema ejecución. Las funciones son de hecho iguales, cambiando únicamente los parámetros de entrada.
o sprintf ( ) . Los desarrolladores se encuentran muy familiarizados con el formato de cadenas de C, como printf ( ) o sprintf ( ) . Para obtener más información, consulte los especificadores de formato de cadena .
FireFox: gestión de perfiles
Mozilla Firefox le permite gestionar varios perfiles , lo cual es útil para aquellos que, como yo, desarrolla sitios web y requiere una serie de extensiones dedicadas a la depuración y análisis de páginas Web mediante el uso de perfiles que se pueden configurar distintas opciones FireFox:
Firefox guarda tu información personal, como marcadores, contraseñas y preferencias en un archivo llamado grupo de perfil que se encuentra en una posición diferente en comparación con los archivos de programa Firefox.
En Windows Vista ( ver aquí para otros sistemas operativos) puede acceder a la gestión de perfiles desde el comando Esegui con:
1 | firefox-ProfileManager |
Una de las ventajas en el uso de los perfiles es que se puede tener un Firefox para navegar sin la barra de herramientas y todas las extensiones de Firefox para la depuración y desarrollar, acompañada de FireBug y todas las otras herramientas de desarrollo.
Firebug 1.1 beta
En Fireclipse la versión 1.1 beta disponible es de Firebug , el depurador JavaScript increíble y no sólo para FireFox . Entre las novedades de esta versión beta indica el soporte para Firefox 3, la interfaz de la función eval () y un editor externo.
Para seguir con interés, a continuación, todo el proyecto Fireclipse , un proyecto abierto dedicado a las herramientas de JavaScript!









Últimos Comentarios
Robert : Yo rispsoto sus preguntas con mucho gusto. La idea es realmente genial. Estoy buscando una solución ...
Sting : @ Darius - se puede ver un ejemplo aquí: http://www.fight4fun.it/ clic en: MAPS espero ...
vik : Giustappunto estoy trabajando en un proyecto y el cliente me pidió que le mostrará todas las noticias (que son CPT) en ...
Giovambattista Fazioli : @ Paso: Por supuesto. Simplemente identificar el campo [ICC] entrada [/ cci] desea ...
Paso : Hola me gustaría solicitar un servicio, puede utilizar el selector de fechas con cform7 I spiegp lo mejor que puedo poner en práctica ...