Ваш двоичный файл не был скомпилирован с отладочной информацией.Перестройте как минимум с -g
(или -ggdb
, или -ggdb -g3
, см. GCC manual .)
Точные строки из вывода GDB:
(gdb) info symbol 0x08049795 execute_jobs + 22 in section .text
означает, что инструкция по адресу 0x08049795
, что составляет 22 байта от начала функции execute_jobs
, породила ошибку сегментации.
(gdb) ptype 0x08049795 type = int
Здесь вы запрашиваете тип целого числа, и GDB радостно отвечает,Сделайте
(gdb) x/10i 0x08049795
или
(gdb) disassemble execute_jobs
, чтобы увидеть действительные инструкции.