반응형
Debug 메시지보기
Dropbear 나 dbclient 를 디버그 빌드 할 필요성이 있었다.
그냥 기본옵션으로 빌드를 하게 되면, dropbear / dbclient 모두 verbos 옵션 (디버깅메시지) 가 비활성화 된 상태에서 빌드가 되어 디버깅 메시지를 볼수 없다.
Debug 빌드하기
configure 가 끝나고난 후make 할때 다음과 같은 옵션을 추가 하면된다.
make -DDEBUG_TRACE
이때 모든 소스를 clear 한후 재빌드 해야한다.
Debug 메시지가 보이지 않을경우
위처럼 디버그 빌드를 하였다면, dbclient 나 dropbear 에 –v 옵션(verbos) 이 생겼을 것이다. 만약 해당 옵션으로 실행시에도 디버그 메시지가 보이지 않는다면…
직접 소스에서 알맞게 수정을 한다.
Dropbear 에서 디버그 메시지를 뿌리는 api 는 다음과 같다.
dbutil.c
#ifdef DEBUG_TRACE
void dropbear_trace(const char* format, ...) {
va_list param;
if (!debug_trace) {
return;
}
va_start(param, format);
fprintf(stdout, "TRACE (%d): ", getpid());
vfprintf(stdout, format, param);
fprintf(stdout, "\n");
va_end(param);
}
#endif /* DEBUG_TRACE */
지금 개발하고있는 시스템의 경우 stderr 로 할 경우 디버깅 메시지가 잘 나오지 않는 경우가 발생하였다.
그래서 stdout 으로 변경을 하였고, 정상동작됨을 확인하였다.
만약 syslog 쪽으로 디버깅메시지를 뿌리고 싶으면 위의 함수를 적절히 수정하면된다.
반응형