2013-12-05 2 views
0

У меня есть небольшая .cpp программа, которая компилируется и работает, и я хочу, чтобы добавить информацию об отладке к нему, так что я скомпилировать так:г ++ не компиляции в отладочной информации

g++ -g a.cpp 

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

# objdump -g a.out 
a.out:  file format elf64-x86-64 
objdump: a.out: no recognized debugging information 

Что я делаю неправильно? Я ожидал, что отладочная информация будет найдена.

Информация о версии:

Linux xxx 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux 
g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52) 
GNU objdump 2.17.50.0.6-20.el5 20061020 
+0

GDB работает? Вы запускаете команду strip? человек говорит: -g => Были реализованы только определенные типы отладочной информации – Lefsler

+0

Я только запускал команду g ++ и objdump, перечисленные в вопросе. Я не знаю достаточно gdb, чтобы определить, находит ли он отладочные символы или нет. – Jeff

+0

Не могли бы вы вставить версию своего gcc и вашего objdump. Было бы лучше, если бы вы могли рассказать нам свои os. – seanxiaoxiao

ответ

2

По моему опыту, objdump -g не самый надежный способ проверки для отладки вывода НКУ. Попробуйте objdump -W.

+0

Да, по какой-либо причине objdump -W работает так, как ожидалось, когда objdump -g ничего не делает. – Jeff

Смежные вопросы