2010-10-07 3 views
48

Как просмотреть символы в файле .o? нм не работает для меня. Я использую g ++/linux.Как просматривать символы в объектных файлах?

+5

nm - это именно то, что вы использовали бы. Можете ли вы объяснить, как это не работает для вас? – nos

+1

В нем написано: 'nm: Lib1.o: Формат файла не распознан – nakiya

+4

@nakiya: Запустите' файл Lib1.o' и сообщите нам, что такое вывод. – DarkDust

ответ

57

Вместо nm, вы можете использовать мощный objdump. См. Справочную страницу. Попробуйте objdump -t myfile или objdump -T myfile. С флагом -C вы также можете указывать имена C++, например nm.

+1

Я тоже попробовал ObjDump. Тот же результат: 'objdump: Lib1.o: Формат файла не распознан' – nakiya

+1

try' objdump -t Lib1.o' – mustafa

7

Существует команда, чтобы взглянуть на какие функции включены в объектный файл или библиотеку или исполняемый файл:

nm 
+1

OP прямо заявил, что не может использовать 'nm'. –

9

Вы использовали кросс-компилятор для другой платформы? Если это так, вам необходимо использовать соответствующий nm или objdump комм.

Например, если вы использовали XXX-YYY-gcc для компиляции файла .o, для обработки файлов вам необходимо использовать XXX-YYY-nm или XXX-YYY-objdump.

3

Только пробег: nm you_obj_file.o | c++filt