2009-02-25 8 views

Respuesta

41

Es porque su proyecto de Xcode está configurado para crear símbolos de depuración con un archivo dSYM externo. Esto es realmente muy útil para compilaciones de lanzamiento, ya que significa que puede quitar los símbolos de depuración de su aplicación, y cuando un usuario le envía un crashdump, puede usar el archivo dSYM original para generar una stacktrace adecuada para la depuración.

De todos modos, usted no necesita necesidad de desactivar la generación de símbolos de depuración en su proyecto. En su lugar, simplemente cambie el tipo de símbolo de depuración a DWARF (en lugar de "DWARF con el archivo dSYM"). También puedes usar Stabs, pero ese es el formato anterior.

Editar: Ah, veo que quisiste decir desde la línea de comandos, no desde Xcode. No estoy sentado frente a mi mac atm, pero veo en el gcc4 manpage que puede especificar -gstabs para usar el formato Stabs.

+0

hola, ¿cómo se cambia el símbolo de depuración? ¿Hay una línea de comandos para eso? – neversaint

+4

Curiosidad interesante: en MacOS 10.6.2, si incluye un archivo fuente en la línea 'enlace', entonces el programa dsymutil se ejecuta para generar la información .dSYM; si solo vincula archivos de objeto y bibliotecas, entonces el programa dsymutil no se ejecuta, por lo que no se genera la información .dSYM. Puede validar esto con la opción '-v' a GCC que muestra los programas ejecutados por 'gcc'. –

+0

También puede usar -ggdb, que creo que habilita más funciones que las amenazas si planea depurar con gdb. – Quantum7

2

Supongo que usa Xcode. Vaya a la opción de menú "Proyecto"/"Editar configuración del proyecto", haga clic en la pestaña de compilación, en la sección "GCC 4.0 - Generación de código", desmarque Generar símbolos de depuración. Puede escribir "sym" en el campo de búsqueda para ayudar a encontrarlo.

Cuestiones relacionadas