Ovviamente se invii 1 milione di byte e fermi il programma con un breakpoint, non permetti a parte dei dati di arrivare dato che il buffer di ricezione non è tanto grande da mantenere tutti quei dati.

Ecco perché ti dico che devi eseguire il debugging con delle printf messe al posto giusto per controllare i dati che servono, senza interrompere il programma.