onlinegdb online linea dev compiler compilador c++ gdb

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:

  1. ¿Puede gdb solo aceptar puntos de interrupción para los archivos fuente donde ingresa el flujo de código?
  2. ¿Puedo establecer puntos de interrupción en líneas enteras de un archivo con algo como b filename:*
  3. ¿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 ...?


  1. No.
  2. No.
  3. 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 .