Uso de las opciones -g y -O2 en gcc

¿Alguien experimenta mezclar -g (símbolos de depuración) y -O2 (mejor optimización segura) con el compilador gcc?
Tengo que depurar los bloqueos de un programa de lanzamiento distribuido a los usuarios finales que podrían devolverme el archivo principal.
Siempre solía llamar:

gdb << myprogram >> << archivo principal >>

y ver dónde está el problema. Ahora solo puedo ver el seguimiento de llamadas, pero al no tener símbolos de depuración estoy bastante en problemas.

¿Alguna idea?

Respuestas a la pregunta(2)

Su respuesta a la pregunta