2009-08-14 7 views
5

Me pregunto si puedo decirle a gcc para incrustar la ruta absoluta a un archivo de origen de la información de depuración, incluso si llamo gcc comogcc/gdb: ¿Cómo incrustar la ruta absoluta al archivo fuente en la información de depuración?

gcc -g ../src/somecode.c -o ../bin/somecode.o 

como lo veo atm, gcc simplemente almacena lo que usted proporciona , por lo tanto, si proporciona una ruta relativa, al final, gdb solo conoce la ruta relativa.

¿Hay alguna manera de eludir eso sin usar rutas absolutas durante la compilación? como: dejar que gcc busque el camino completo?

gracias de antemano RTI

+0

Consulte este otro mensaje: [? Puede GCC ser configurado para no imprimir una ruta completa en los mensajes de advertencia/error] (http://stackoverflow.com/questions/1282392) – Leo

+0

ver este otra publicación: [¿Se puede configurar gcc para que no imprima una ruta completa en mensajes de advertencia/error?] (http://stackoverflow.com/questions/1282392) – Leo

Respuesta

3
gcc -fdebug-prefix-map=..=$(readlink -f ..) 
+0

Perfecto. Eso es lo que estaba buscando. Muchas gracias. – rti

0

¿En qué plataforma estás construyendo y lo que es el formato de depuración nativa para esa plataforma? No es que esta información necesariamente lo acerque más a la solución de su problema, pero puede valer la pena mirar la especificación del formato de depuración para ver si lo que quiere hacer, incluso tiene sentido desde esa perspectiva.

Está pasando la opción '-g' al compilador a la derecha.

+0

muchas gracias por su respuesta. sí, estoy pasando -g a gcc :) quiero resolver el problema en linux y mac os x. para ser sincero, no sé qué formatos son los predeterminados. podrías recomendar uno? – rti

Cuestiones relacionadas