Да, это возможно, но, к сожалению, это не так просто.
По сути, вы хотите изменить контекст выполнения (на выбранную вами функцию) запущенного процесса в произвольной точке программы.
Теоретически вы можете создать новый контекст выполнения, выполнив команды GDB и вызвав функции в отлаживаемом процессе, но, вероятно, это будет больше работы, чем вы изначально предполагали.
Я думаю, что лучшим вариантом, если вы действительно хотите эту функциональность, является использование какой-либо библиотеки инструментов, такой как Valgrind или Pin . Эти библиотеки в основном заботятся обо всех мельчайших деталях создания нового контекста выполнения в произвольный момент выполнения процесса, и они представляют разумный интерфейс для работы в запущенном процессе.