Unix의 시스템("일시 중지")?

Unix의 시스템("일시 중지")?

나는 보통 이와 같은 디버거를 사용하므로 운 좋게도 cgdb지금까지 호출 디버깅에 의존할 필요가 없었습니다.system

로드하는 데 약 30분 정도 걸리는 바이너리가 있는데 gdb, 그 이후에는 기호 수가 너무 많아서 디버거가 자주 충돌합니다. 이로 인해 일반적인 작업 흐름(로드 gdb, 중단점 추가, 문제 변수 식별 등)이 불가능해졌습니다.

Windows에서는 이 시점에서 내 코드에 많은 coutand system("pause")(가난한 사람의 중단점) 문을 추가하기 시작합니다. 하지만 Unix와 같은 환경에서는 이 작업을 어떻게 수행합니까?

답변1

cin가난한 사람의 정보를 읽어보고 싶을 수도 있습니다 . 커피를 마시는 동안 계속하기보다는 pause 입력을 기다립니다 .Entersleep()

답변2

나는 가끔 이런 방법을 쓴다.

#define BRK()  do { printf("%s %d\n", __FILE__, __LINE__); getchar(); } while (0)
...
BRK();  // Stop and wait for enter

또한 함수 계측이 도움이 될 수 있습니다. GCC에서는 각 함수의 시작/종료를 연결할 수 있습니다.https://stackoverflow.com/questions/2281739/automatically-adding-enter-exit-function-logs-to-a-project

답변3

cout/ 에도 동일하게 적용됩니다 . - 보기를 cerr사용 하거나 더 많은 정보를 얻을 수 있습니다.sleep()man 3 sleepman 3 usleep

관련 정보