c gcc gdb

c - g++



¿Por qué recibo el mensaje "paso único hasta la salida"?.. que no tiene información de número de línea "en GDB? (7)

Solo estoy adivinando, pero ¿_DictionaryTree_getNodeList está en otro archivo que no se compiló con -g?

He compilado mi programa C usando gcc 4.4.1 usando el indicador -g , pero cuando intento pasar por una de mis funciones en gdb versión 7.0 , aparece el mensaje:

"Single stepping until exit from function _DictionaryTree_getNodeList, which has no line number information."

¿Puede alguien decirme por qué sucede esto?


También recibí este mensaje de error, pero el origen de mi problema era diferente. Si alguien aún tiene algún problema, asegúrese de tener #include <stdio.h> en su archivo, con los corchetes apropiados alrededor de stdio.h (el mensaje de texto no aparecería si lo tuviera alrededor de stdio.h ).


Tuve el mismo problema a pesar de que ya estaba compilando con -g2 . -g3 a -g3 hizo el truco.


Tuve el mismo problema cuando compilé un archivo usando la opción -g y sin la opción -g. Para uno de los archivos, el gdb mostraba el número de línea sin ningún problema (incluso cuando se compiló sin la opción -g). Y para el otro archivo, tuve que mencionar explícitamente -g flag ...

Cualquier idea sobre si el archivo de origen podría cargarse en tiempo de ejecución en GDB con referencia cruzada sería una buena solución ... mapeando las líneas a las direcciones: D.


Tuve el mismo problema, pero en mi caso agregar -g al compilador no fue suficiente, así que usé -ggdb como lo sugirió Manav.


Tuve este problema porque estaba depurando una biblioteca compartida sin señalar LD_LIBRARY_PATH para corregir la ubicación con los estados finales de depuración.

puedes usar

export LD_LIBRARY_PATH=<location of the debug build of the .so file>:$LD_LIBRARY_PATH

Espero que esto sea útil para alguien


En mi caso, el problema era la versión sesgada entre gcc y gdb .

Después de aterrizar aquí desde la búsqueda y ninguna de estas respuestas se ajusta a mi situación, me di cuenta de que (debido a alias / symlinks / Makefile / variables de entorno) accidentalmente estaba usando un GCC más nuevo (4.8.x) y un GDB anterior (7.2). El paso a una versión más nueva de GDB (7.8) solucionó el problema. Por alguna razón, usar un GCC más nuevo y un GDB anterior no funcionó.