dwarfdump пуст при использовании параметров отладки

Я пытаюсь получить информацию DWARF из файла C ++, используя dwarfdump. Файл C ++ очень прост —

int foo();

Я компилирую это, делая g++ -g -c test.cpp, Я тогда делаю dwarfdump test.o, но по какой-то причине я получаю

----------------------------------------------------------------------
File: test.o (x86_64)
----------------------------------------------------------------------
.debug_info contents:
< EMPTY >

Почему это? И как я могу получить информацию об отладочном дварфе?

1

Решение

Я понял, что случилось. Отладочная информация не была сгенерирована. Это потому, что оптимизатор понимает, что int foo (); никогда не вызывается и не имеет объявления, и поэтому не нуждается в отладочной информации. Изменение функции на

int foo(){
int x=5;
}

достаточно для генерации отладочной информации.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]