Я создал простой код на C ++, который нужно разбить. Я возвращаюсь назад с этой ошибкой:
/prbsft/bins/Main(_Z5FuncCv+0x14)[0x5571ea64dd80]
Теперь я пытаюсь использовать addr2line, чтобы получить строку ошибки в функции.
Итак, я использовал:
addr2line -e /prbsft/bins/prbMain 0x5594262a8d80
Но все, что я получил, это 0:??
.
Я также пытался использовать адрес 0x14 вместо 0x5594262a8d80, но он возвращает тот же результат.
Я использую Ubuntu. addr2line
версия:
GNU addr2line (GNU Binutils for Ubuntu) 2.30
Спасибо.
Вот вывод:
Program received signal SIGSEGV, Segmentation fault. 0x0000555555554d80 in FuncC () at main.cpp:34
warning: Source file is more recent than executable.
34 std::cout << k->n << std::endl;
(gdb) bt
#0 0x0000555555554d80 in FuncC () at main.cpp:34
#1 0x0000555555554db1 in FuncB () at main.cpp:39
#2 0x0000555555554dbd in FuncA () at main.cpp:44
#3 0x0000555555554dda in main () at main.cpp:53