Estoy tratando de usar GDB para depurar (para encontrar una segfault molesto). Cuando corro:gdb no ejecuta el programa ELF de 64 bits con "Formato de archivo no reconocido"
gdb ./filename
desde la línea de comandos, me sale el siguiente error:
This GDB was configured as "i686-pc-linux-
gnu"..."/path/exec": not in executable
format: File format not recognized
Cuando ejecuto:
file /path/executable/
consigo la siguiente información:
ELF 64-bit LSB executable, AMD x86-64,
version 1 (SYSV), for GNU/Linux 2.4.0,
dynamically linked (uses shared libs), not stripped
Estoy usando GDB 6.1, y th e ejecutable se compila con la versión 3.4.6 de gcc.
Estoy un poco fuera de mi agua en términos de usar gdb, pero hasta donde sé, debería funcionar en esta instancia. Alguna idea de lo que va mal?
gracias. Pensé que este podría ser el problema, y resulta que hay una versión de 64 bits de gdb instalada en una ruta más oscura en la misma máquina. – pbh101
Gracias - Tuve este problema después de instalar el paquete debian gdb: i386 y algunos otros hace unos días para evitar crear un chroot para construir una versión i386 de un paquete Debian. – frankster
Eso fue lo mismo para mí cuando no pude depurar una aplicación de Android de QtCreator. 32bit gdbserver se usó mientras tenía un dispositivo android de 64 bits – rightaway717