C로 멀티 프로세스 서버를 작성하고 있으며, 프로그램을 디버그하고 테스트하는 데 가장 좋은 도구가 무엇인지 궁금합니다. 특히 클라이언트에게 전송되는 내용과 반대의 경우. 도움 주셔서 감사합니다.서버, 클라이언트 디버깅
0
A
답변
2
모든 프로세스는 쓰기 로그이어야합니다. 그것은 정확히 gdb와 같은 디버깅 도구는 아니지만 매우 유용합니다.
모든 로그 항목에는 정확한 시간 소인, 프로세스 ID 및 소켓 데이터가 있어야합니다. 로그를 파일, 데이터베이스 또는 로그 서버에 기록 할 수 있습니다. 특정 시간 범위, 특정 클라이언트 연결 등을 위해 로그를 쉽게 필터링 할 수 있기 때문에 데이터베이스 (예 : SQLite)에 로그하는 것이 유용합니다. 다른 프로세스 (SQLite : ATTACH DATABASE
)의 로그를 병합하기도 쉽습니다. 리눅스에서는 syslog을 사용하는 것이 좋습니다.
로깅 수준을 다르게 지정하십시오. 자세한 로깅은 개발 단계에서 코드를 디버깅하는 데 도움이됩니다. 기본 로깅은 장기간에 드문 드문 오류를 추적하는 데 도움이됩니다. 로깅을 켜고 끄고 서버를 끄지 않고 로깅 수준을 쉽게 설정할 수 있는지 확인하십시오.
질문이 약간 넓습니다. gdb는 좋은 디버거이며 tcpdump를 사용하여 패키지를 덤프 할 수도 있습니다. – tristan