Когда я запускаю программу в режиме отладки (в Qt Creator), я могу установить точку останова в main и затем увидеть исходный код.
В самом деле? Узнайте, откуда ваш отладчик получает исходный код, и скопируйте его оттуда.
Скорее всего, ваш отладчик просто захватывает файл в вашей системе с тем же именем / путем, что и исходное имя файла (возможно, более поздняя версия, или старая версия, и т. Д.), И все происходит так, что выстраиваются в линию.
Вы не можете по-настоящему восстановить исходный код из скомпилированного двоичного файла, поскольку преобразование из исходного кода C ++ в скомпилированный двоичный файл не является отношением 1: 1. Существует много (бесконечно ...) разных исходных файлов, которые будут компилироваться в один и тот же двоичный файл. Невозможно узнать из бинарного файла, как выглядит исходный код.
Существуют инструменты, которые могут генерировать что-то похожее на исходный файл C ++, но, скорее всего, оно не будет похоже на ваш исходный файл.