Помогите найти документацию или объяснение, почему так происходит.
Суть:
Есть исходный код, допустим :
https://github.com/Sehktel/DeepThought
В Linux загружаем, компилируем
Код:
Код: Выделить всё
g++ -g ./Deep.cpp -o ./Deep.outТеперь, используя отладчик gdb я могу с помощью list [/i]получить исходный код.
Я могу переместить бинарный файл в системе (например в /tmp ) и все равно получить исходник.
Следовательно, есть предположение, что исходник находится внутри файла. Но нет.
Если переименую Deep.cpp в Deep_1.cpp gdb с задачей list не справится.
Следовательно исходника внутри нет. (?!)
Вопросы.Как мне получить бинарный код, переносимый из системы в систему, чтобы в нем был исходный код (gdb list) ?Как работает -g что я могу перемещать бинарь по системе, но не могу переименовать исходник ?Может я не в ту сторону думаю и все намного проще и давно решено?За ссылку на правильную документацию буду благодарен.
P.S. Поиграть в онлайн можно здесь:
https://killercoda.com/thcode/course...cOps/scenario2
Для работы приходится в недрах системе держать исходный код в открытом виде, что не хотелось бы.