Header Ads Widget

Ticker

6/recent/ticker-posts

linux: el comando de lista no está cargando el código fuente del programa de ensamblaje en gdb: utilidad de código

 Estoy usando gdb [7.11.1] kali linux de 32 bits

cuando uso el comando list para cargar el código fuente de mi programa ensamblador en gdb y muestra el siguiente mensaje de error:
'No se cargó ninguna tabla de símbolos. Utilice el comando "archivo"'

He probado el comando como:

lista
lista numero_linea

En ambos casos el error es el mismo.

por favor, ayúdame

¡Gracias! por adelantado

,

Uso el comando de lista para cargar la fuente de mi ensamblaje.

El comando List no hace nada por el estilo. Más bien, enumera las fuentes que GDB ya ha cargado.

as -o progname.o progname.s

En su caso, GDB no carga ninguna fuente porque compiló su programa sin ninguna información de depuración. Es probable que desee:

1
as -g -o progname.o progname.s

Del hombre como :

1 
2 
3 
4 
5
  -g
   --gen-debug
       Generate debugging information for each assembler source line
       using whichever debug format is preferred by the target.  This
       currently means either STABS, ECOFF or DWARF2.

,

Estaba incurriendo en el mismo problema mientras intentaba depurar mi código c para cosas de desbordamiento de búfer.
Ese error surge debido a la compilación limpia sin generar ninguna información de depuración.
Para el programa c, en lugar de la compilación normal como gcc program.ctry to run gcc -g -fno-stack-protector -z exec stack -o buffer program.c.

-gle dice a GCC que agregue información adicional para
-fno-stack-protectorque el indicador GDB desactive el mecanismo de protección de la pila
-z execstack, hace que la pila sea ejecutable

Este comando creará un bufferarchivo binario de su programa c y, por lo tanto, cumplirá con todos los criterios para ejecutar el comando list en gdb.

Inicie el gdb con gdb ./bufferluego escriba listel comando. ¡¡Funcionará!!

Publicar un comentario

0 Comentarios