2014-03-04 4 views
2

printf 문을 BSD 네트워크 스택에 추가하고 싶습니다. 그러나 그들을 추가 한 후에는 내 컴퓨터의 콘솔에 메시지가 표시되지 않습니다. netisr (sys/net/netisr.c)에 일부를 추가하려고했습니다. 이미 존재하는 printf 문장을 찾을 수 없습니다. 커널 프로그래밍에 대한 멍청한 놈.BSD 네트워크 스택 코드로 메시지를 인쇄하는 방법은 무엇입니까?

netsmp_lockinit(void *dummy) 
    {  
      printf("Function %s File %s : Line %d\n",__func__,__FILE__,__LINE__); 
      rw_init_flags(&Netstack, "netsmp", RW_NETLOCK); 
    } 
+0

여기에 무엇을 넣었습니까? – Oz123

답변

1

커널은 C 표준 I/O 기능을 사용할 수 없습니다. 로깅 기능을 사용해야합니다. 예를 들어, sys/netinet/in.c 무슨 일이 있었는지 외부 세계와 소통 할 수

log(LOG_INFO, "in_scrubprefix: err=%d, old prefix delete failed\n", error); 

를 사용합니다.