2011-08-26 18 views
6

Estoy tratando de usar Eclipse con CDT para depurar un binario de 64 bits. El binario está construido fuera de Eclipse y funciona bien. Inicié el binario fuera de eclipse y luego intenté adjuntarlo al proceso utilizando el tipo de configuración de depuración 'C/C++ Attach to Application'.Conexión de depuración Eclipse CDT al proceso - no en formato ejecutable: Formato de archivo no reconocido

que puede elegir el proceso de la lista que aparece cuando se ejecuta la configuración de depuración, sin embargo, me sale el siguiente mensaje de error:

Error in final launch sequence 
Failed to execute MI command: 
attach 22014 
Error message from debugger back end: 
"program.x64": not in executable format: File format not recognized 

Todo funciona bien si construyo un objetivo para i386.

No estoy muy seguro de dónde ir con esto, he leído que podría tener algo que ver con los programas de análisis binarios en Eclipse:

This link menciones analizadores, y this link describe un error con el PE analizador que está arreglado.

Estoy ejecutando Eclipse Indigo con Eclipse CDT 8.0.0 en Linux x64. He probado el 'Elf Parser' y 'GNU Elf Parser' en project_properties/C++ _ build/settings sin suerte.

información

del archivo:

hostmachinea:file program.x64 
programs.x64: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped 

BGF y archivos gdbinit son los valores por defecto Eclipse

Respuesta

3

Suena como si el BGF que está utilizando Eclipse fue construido para i386, y por lo tanto no puede depurar de 64 bits binarios Es probable que necesite instalar GDB capaz de 64 bits.

Aquí lo que el mensaje de error del actual GDB se parece a:

$ ./gdb --version 
GNU gdb (GDB) 7.3.50.20110809-cvs 
Copyright (C) 2011 Free Software Foundation, Inc. 
... 
This GDB was configured as "i686-linux". 
... 

$ ./gdb -q /bin/date 
"/bin/date": not in executable format: File format not recognized 

BGF y archivos gdbinit son los valores por defecto Eclipse

¿Desea instalar la versión de 32 bits o de 64 bits de CDT?

1

En el shell, el BGF creo que es de 64 bits:

~:gdb --version 
GNU gdb (GDB) 7.0.1 
Copyright (C) 2009 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law. Type "show copying" 
and "show warranty" for details. 
This GDB was configured as "x86_64-unknown-linux-gnu". 

La fecha de carga:

~:gdb -q /bin/date 
Reading symbols from /bin/date...(no debugging symbols found)...done. 

Typing cuales GDB, y después de poner ese camino de forma explícita en el configuraiton depuración en Eclipse , Ya no recibo el mensaje de error.

Como una nota al margen, ¿cómo puede averiguar qué GDB Eclipse usa de forma predeterminada?

He descargado la versión de 64 bits Eclipse Indigo, que viene con CDT.

Cuestiones relacionadas