Información de depuración

    Se suele denominar Información de Depuración a la información adicional que el compilador coloca en el binario junto con el código ejecutable, para permitir luego identificar los elementos (como variables, funciones, etc) dentro de la memoria del programa, o asociar el código binario del mismo con su correspondiente código fuente. Esto es: el compilador puede incluir en el ejecutable una asocioación directa entre las líneas del código fuente y las instrucciones de máquina generadas, y una Tabla de Simbolos donde se mantiene información sobre las variables, objetos, etc. declarados en el programa. Esta información, es inderectamente muy util para el programador, pero no para el usuario final, por lo que se suele incluir en las configuraciones de proyecto debug, pero no en las release.

    En los proyectos de ZinjaI se puede definir la cantidad/calidad de la información de depuración a incluir al compilar en la pestaña Compilación del cuadro de Configuración de proyecto. Sin embargo, aunque los objetos generados por ZinjaI no contengan información de depuración, si se utilizan librerías externas, puede que estas sí. Para evitar que el ejecutable final tenga esta información de depuración, se le puede indicar a ZinjaI que debe "strippear" (no existe una traducción al castellano suficientemente adecuada) el ejecutablem en la pestaña Enlazado del cuadro de Configuración de proyecto. Por otro lado, cuando se crea un programa simple, este siempre incluye información de depuración.

   La información de depuración suele aumentar considerablemente el tamaño de un objeto o ejecutable. Si un ejecutable fue compilado incluyendo información de depuración, esta puede ser suprimida del mismo mediante la utilidad strip. Para comprobar estas diferencias, puede abrir el cuadro de Propiedades del ejecutable, observar el tamaño del mismo, hacer click en el botón strip, y comparar el nuevo tamaño con el anterior.

   Es importante destacar que para que la información de depuración tenga completo sentido, se debe disponer del código fuente con que se generó el ejecutable, ya que esta información no incluye al mismo, pero si diferentes marcas que le permiten al depurador asociar las instrucciones de maquina con las lineas de los archivos fuente. Si el fuente fue modificado, esta asociación será erronea, y el depurador no tendrá forma de darse cuenta de ello. Es por esto que ZinjaI por defecto no permite modificar los fuentes mientras se está depurando. Si desea poder modificar los fuentes durante la depuración (siendo consiente de lo que esto acarrea), puede alterar este comportamiento en la pestaña Depuración del cuadro de Preferencias.