c++ - online - puntos de corte en GDB
online gdb python (2)
Creo que esto se pudo haber pedido antes, pero no puedo encontrar uno que satisfaga mis requisitos.
Estoy depurando (de hecho, tratando de entender) un gran proyecto al tratar de analizar el flujo de código en varios testsuites. Pero cuando intento establecer puntos de interrupción en algunos archivos, aparece el error "no se encontró ningún archivo de origen llamado nombre de archivo".
Entonces mi pregunta es:
- ¿Puede gdb solo aceptar puntos de interrupción para los archivos fuente donde ingresa el flujo de código?
- ¿Puedo establecer puntos de interrupción en líneas enteras de un archivo con algo como
b filename:*
- ¿Se aceptará un punto de interrupción en el archivo de encabezado ya que los archivos de encabezado se anexan al momento de la compilación?
Cualquier idea es más que bienvenida.
Editar
Comprobé estos problemas con un código mundial de saludo y encontré los mismos resultados que se señalaron en una de las respuestas. Pero mi problema en el proyecto real aún permanece. Todavía obtengo el mismo error incluso cuando puedo ver el resultado editado de la misma línea que no se acepta como un punto de interrupción.
Editar 2
Lo tengo funcionando, pero no entiendo cómo y por qué funciona ... ??
(gdb) b /home/neeraj/BTP/trunk/include/header.h:872
No source file named /home/neeraj/BTP/trunk/include/header.h:872
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) b /home/neeraj/BTP/trunk/src/driver.cpp:2
Breakpoint 1 at 0x806c61a: file ../../../trunk/src/driver.cpp, line 2.
(gdb) b /home/neeraj/BTP/trunk/include/header.h:872
Breakpoint 2 at 0x8052fa0: file ../../../trunk/include/header.h:872, line 872.
(gdb)
¿Alguna idea más profunda ...?
- No.
- No.
- Sí.
Asegúrese de compilar con la opción -g (depurar). Asegúrese de que Sourcepaths esté configurado correctamente. Use el directorio, muestre los directorios y los comandos dir para ver / configurar.
La otra cosa a tener en cuenta, además de las bibliotecas compartidas, es que los nombres de los archivos fuente gdb
son relativos al directorio donde se compiló el código. Si no ha compilado con nombres de ruta absolutos, use el comando dir
para agregar el directorio de compilación a la lista de lugares donde gdb
busca el código fuente.
Y una sugerencia: descubro que soy mucho más productivo cuando uso el front-end gráfico del Data Display Debugger (DDD) en gdb
.