gdb gui ЧЕЛОВЕЧЕСКИЙ существует?
От Nil A (2:5015/46) к Leonid Gribanov
В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)
Hello, Leonid!
Wednesday June 23 2021 21:33, from Leonid Gribanov -> Rinat H. Sadretdinow:
LG>>> А нафига он тебе вообще?
LG>>> В "голом" gdb глянул строку, в которой память течет и всё.
LG>>> Закрыл. Забыл.
Необходимость посетить gdb возникает не только когда течёт память. Намного чаще надо проанализировать core dump, например.
RS>> Hу как сказать... Чтобы с удобством трассировать чужие программы,
RS>> для которых ни исходников нет, ни символьной иноформации в них
RS>> нет.
Без символов будет совсем тяжко - можно что-то будет понять только когда в какой-нибудь libc заходит, или иную динамически подгружаемую библиотеку.
Самый геморный вариант - статическая сборка с удалением символов - strip.
LG> Hасколько я помню, gdb гарантирует работу с бинарниками собранными
LG> только GCC с параметром -O0 (без оптимизации).
Никто никому ничего не гарантирует в мире gdb. Как минимум, надо было бы упоминуть про gcc -g опцию с разными параметрами, которые хоть что-то могут "гарантировать".
LG> (По крайней мере с -O2 и -O3 он полноценно дебажить не может)
-O Это просто разные уровни оптимизации. На каждом уровне добавляется "пачка" параметров https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
Например, даже при -O2 можно добавить -fno-omit-frame-pointer чтобы стек-трейс был адекватным. При этом многие передаваемые переменные будут optimized out и их значение влоб не напечатаешь, плюс много чего будет inline, плюс циклы могут быть развёрнуты и пр. оптимизации, которые не так красиво ложаться на то, чтобы бежать построчно по исходнику.
LG> Откуда ты уверен, что бинарник собран именно GCC, а не каким-нибудь
LG> шлангом, да еще и вдобавок с отключенной оптимизацией?
Я не вижу проблемы с отладкой бинарей собранных клангом, а ты?
Best Regards, Nil
--- GoldED+/LNX 1.1.5
* Origin: VDS-OVZ-Разминка: 1 ядро, 512Мб, 10Гб, 1 IP - 90р/мес (2:5015/46)
Ответы на это письмо:
From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку
From: Username
Или коротким