2009-12-23 71 views
0

與GNU GDB 6.4認可以下細節是從一個會話中運行Solaris 10文件格式無法在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 
$ 

爲什麼不會用gdb識別文件格式devli任何細節的Sun服務器?我在互聯網上搜索,但找不到與此特定問題相關的任何內容。任何指針都會有幫助。

a.c進入a,使用gcc構建; devli使用Sun ONE Studio 8.

回答

0

請注意GDB 6.4是4歲。 (當前)GDB 7.0可能會帶來更好的運氣。

它也有可能是devli可執行文件已損壞(file只是着眼於可執行文件的前幾個字節,但GDB需要更多的文件內容是自洽)。 readelf --all > /dev/null是否會報告任何警告?