2010-10-07 12 views
48

¿Cómo puedo ver símbolos en un archivo .o? nm no funciona para mí. Yo uso g ++/linux.¿Cómo ver los símbolos en los archivos objeto?

+5

nm es exactamente lo que usarías. ¿Puedes explicarme cómo no funciona para ti? – nos

+1

Dice: 'nm: Lib1.o: formato de archivo no reconocido' – nakiya

+4

@nakiya: Ejecuta el' archivo Lib1.o' y cuéntanos cuál es el resultado. – DarkDust

Respuesta

57

En lugar de nm, puede utilizar la poderosa objdump. Vea la página de manual para más detalles. Pruebe objdump -t myfile o objdump -T myfile. Con la bandera -C también puede exigir nombres C++, como nm.

+1

Probé ObjDump también. Mismo resultado: 'objdump: Lib1.o: formato de archivo no reconocido' – nakiya

+1

try' objdump -t Lib1.o' – mustafa

7

hay un comando para echar un vistazo a las funciones que se incluyen en un fichero objeto o biblioteca o ejecutable:

nm 
+1

El OP indicó directamente que no puede usar 'nm'. –

9

¿Has estado usando un compilador cruzado para otra plataforma? Si es así, debe usar el respectivo comando nm o objdump.

Por ejemplo, si ha utilizado XXX-YYY-gcc para compilar el archivo .o, es necesario utilizar XXX-YYY-nm o XXX-YYY-objdump para procesar los archivos.

3

Solo ejecuta: nm you_obj_file.o | c++filt

Cuestiones relacionadas