tutorial how debugger c++ debugging gdb debian

c++ - how - gdb Durante el programa de inicio sale con el código 127



gdb tutorial (1)

/bin/bash: /usr/local/sbin/test: No such file or directory

Hay dos causas comunes de esto:

  1. el archivo /usr/local/sbin/test no existe
  2. el archivo existe, es un ejecutable enlazado dinámicamente, y el intérprete ELF que especifica no existe.

Para el n. ° 1, la respuesta es obvia: necesita un archivo para depurar.

Para # 2, puede averiguar qué intérprete ELF requiere el archivo así:

readelf -l /usr/local/sbin/test | grep interpreter

Es probable que tenga un binario de 32 bits apuntando a /lib/ld-linux.so.2 en un sistema de 64 bits sin soporte de tiempo de ejecución de 32 bits instalado. Dependiendo de la distribución que esté utilizando, algo como sudo apt-get install libc6:i386 debería ser el truco.

Quería usar gdb como depurador en Linux Debian. Tratando de ejecutar un binario obtengo esto:

(gdb) r Starting program: /usr/local/sbin/test /bin/bash: /usr/local/sbin/test: No such file or directory During startup program exited with code 127. (gdb)

Supongo que se supone que es elemental. Pero busqué mucho en Google y la respuesta más común es

$ export SHELL=/bin/bash

Esto no ayuda. También traté de cambiar PATH para la ejecución de binarios, intenté ejecutar desde un directorio diferente ... Sigue igual.

¿Podrías por favor ayudarme con eso?