2009-12-23 5 views
0

Ci-dessous les détails sont d'une session dans une machine Sun sous Solaris 10.Format de fichier non reconnu avec GNU gdb 6.4 sur Solaris 10

$ file devli 
devli: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped 
$ file a 
a: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped 
$ gdb 
GNU gdb 6.4 
Copyright 2005 Free Software Foundation, Inc. 
GDB is free software, covered by the GNU General Public License, and you are 
welcome to change it and/or distribute copies of it under certain conditions. 
Type "show copying" to see the conditions. 
There is absolutely no warranty for GDB. Type "show warranty" for details. 
This GDB was configured as "sparc-sun-solaris2.10". 
(gdb) file a 
Reading symbols from /tmp/tnmy/a...(no debugging symbols found)...done. 
(gdb) file devli 
"/tmp/tnmy/devli": not in executable format: File format not recognized 
(gdb) q 
$ ls -l a devlisrvr 
-rwxr-xr-x 1 test2 dba   1480 Dec 23 18:23 a 
-rwxr-xr-x 1 test2 dba  633088 Dec 23 18:26 devli 
$ uname -a ; 
SunOS myhost 5.10 Generic_127111-11 sun4v sparc SUNW,SPARC-Enterprise-T5220 
$ cat a.c 
int main() {return 0;} 
$ /opt/SUNONE8/SUNWspro/bin/CC -V 
CC: Sun C++ 5.5 2003/03/12 
$ file `which gdb` 
/usr/local/bin/gdb: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped 
$ 

Tous les détails sur pourquoi ne pas gdb reconnaître le format de fichier pour devli? J'ai cherché sur Internet, mais je n'ai rien trouvé de relié à ce problème particulier. Tout pointeur serait utile.

a.c entre a, construit en utilisant gcc; devli en utilisant Sun ONE Studio 8.

Répondre

0

Notez que GDB 6.4 a 4 ans. Vous pourriez avoir plus de chance avec (actuel) GDB 7.0.

Il est également possible que l'exécutable devli est corrompu (file regarde juste les premiers octets de l'exécutable, mais GDB exige beaucoup plus du contenu du fichier à auto-cohérent). Est-ce que readelf --all > /dev/null signale des avertissements?