Я удивлен, что на это ушло так много времени, поэтому, хотя я мало что знаю о ddd, вполне вероятно, что проблема в том, что gdb ожидает программу, заблокированную при чтении, в ожидании ввода на stdin , Если вы запускаете GDB напрямую, вы можете направить ввод в программу, используя:
run < input-file
Вы должны дать вашей программе некоторую информацию.