Você pode querer ler a partir de cin
para obter a pause
de um homem pobre
- esperará que você digite um Enter ,
em vez de retomar enquanto você está tomando café (como sleep()
).
Eu normalmente uso um depurador como cgdb
, então, felizmente, não precisei recorrer a system
chamadas para depuração, até agora.
Eu tenho um binário que leva cerca de 30 minutos para carregar em gdb
e, freqüentemente, trava o depurador depois, provavelmente devido ao grande número de símbolos. Isso faz com que meu fluxo de trabalho normal (carregando gdb
, adicionando pontos de interrupção, identificando variáveis de problema, etc.) seja insustentável.
No Windows, eu começaria a adicionar muitas instruções cout
e system("pause")
(ponto de interrupção do homem pobre) em todo o meu código; mas como faço isso em um ambiente parecido com um unix?
Eu às vezes recorro a isso
#define BRK() do { printf("%s %d\n", __FILE__, __LINE__); getchar(); } while (0)
...
BRK(); // Stop and wait for enter
Além disso, a instrumentação de função pode ajudar: O GCC permite que cada função entre / saia, consulte link
A mesma coisa para cout
/ cerr
e você pode usar apenas sleep()
- consulte man 3 sleep
ou man 3 usleep
para obter mais informações.
Tags c++