Вы не можете видеть результат, потому что stdout (FILE *) имеет выходной буфер. Он не будет выводить что-либо на экран, пока буфер не заполнится или не встретится '\ n'.
поэтому вызывайте printf так:
(gdb) call (int)printf("%d\n", 6)
6
$6 = 2
Кстати, «$ 6 = 2», которое является результатом printf .