GCC с открытым исходным кодом - вы можете это исправить. Конечно, вам, вероятно, придется пересмотреть LD для правильной обработки информации, и вам определенно придется исправить GDB для использования встроенного источника. Вы будете использовать нестандартный формат для отладочной информации, поэтому вам, вероятно, придется изменить другие инструменты, которые манипулируют объектными файлами.
Итак, возможность есть. Но легче сделать то же самое, что и все остальные в мире, и держать свой источник в курсе, пока вы не закончите его отладку. Обычно вы можете поддерживать один сеанс GDB во время перекомпиляции исполняемого файла несколько раз, если это необходимо. И, как правило, легче отладить текущую версию кода, чем вчерашнюю версию. Если вам нужно отладить вчерашнюю версию, вам нужен вчерашний код (у вас есть хорошая VCS, не так ли?), Чтобы вы могли увидеть, что на самом деле не так со вчерашним кодом, а не с сегодняшней измененной версией кода .
Я воздаю вам должное за то, что вы задали вопрос - для того, чтобы придумать идею, нужно немного побочного мышления. Отлично сработано! Но на практике ваше предложение решительно нетривиально.