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:
- el archivo
/usr/local/sbin/test
no existe - 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?