2010-07-28 4 views
1

임베디드 시스템 용 dhcp를 수행하기 위해 리눅스에 데몬을 작성했습니다. 이 플랫폼은 Linux 커널 만 실행하며 CLI를 지원하지 않습니다. 내 데몬을 테스트하는 가장 좋은 방법은 무엇입니까? 이 데몬에서 main 함수를 호출 할 프로그램을 작성하고 제대로 작동하는지 확인하려면 어떻게해야합니까?임베디드 시스템에서 Linux 데몬 테스트하기

답을 이해하십시오.

+0

비지 박스조차하지 않습니까? –

+1

@Ignacio Linux 커널과 glibc 또는 ulibc 및 기타 관련 라이브러리에 의존하는 임베디드 시스템을 사용하는 것은 전례가 없습니다. (물론, 적어도 저도 그렇게했습니다.) 쉘은 전혀 없습니다. 내 물건에는 표준 초기화가 없었습니다. 우리는 우리 자신의 것을 썼습니다. 그러나 우리는 우리 자신의 것을 쓰기보다는 필요에 따라 다른 유틸리티를 사용했습니다. 예를 들어,이 경우에는 기존 dhcpcd를 사용했을 것입니다. –

답변

4

이런 상황에 처했을 때, CLI 대신 두 번째 데몬을 작성했거나 (또는 ​​기존 데몬에 두 번째 리스너가 있음) 특정 포트에서 수신 대기 한 후 당신이 선택한 매우 제한된 명령 세트.

이 경우 사용자가 필요로하는 기능을 실제로 트리거하는 것이므로이 두 번째 포트에 연결할 때 트리거를 실행 한 다음 결과를 다시 소켓에보고 할 수도 있습니다.

그런데 임베디드 시스템에 영구 저장 장치에 정보를 기록하고 해당 로그를 검색하는 좀 더 일반적인 메커니즘이 있는지 확인하는 것이 좋습니다. 그것은 syslog이거나 그렇게 복잡한 것은 아닙니다. 그러나 미래의 현장에서 문제의 법의학 분석을 가능케하는 능력을 원할 것입니다.

+1

그 해답을 보내 주셔서 감사합니다. 나는 두 번째 청취자가 있다는 생각을 좋아했습니다. 특정 포트의 기본 명령에 응답하는 두 번째 리스너를 얻고 그 결과를 통해 결과를 얻으려고합니다. – Ullas

+0

+1 로깅 메커니즘을 권장합니다. – semaj

+0

로깅에 아멘! 이미 IP 스택을 실행하고 있으므로 로그 레코드를 내보내는 syslog 프로토콜을 구현하는 것은 그리 복잡하지 않습니다. – bstpierre

0

완전한 기능을 갖춘 환경에서 데몬을 작성하고 디버그 한 다음 제대로 작동 할 때 마지막에 임베디드 시스템에 데몬을 설치해야합니다.

임베디드 시스템 용 DHCP 서버를 구축 할 수 있다면 간단한 쉘을 만들 수 있습니다. BusyBox 또는 재 또는 대시 건물을 시험해보십시오.

GDB 원격 디버깅을 시도해 볼 수도 있습니다. 나는 그것에 대해 found an article.

+0

솔직하게 말해, 저는 데몬을 디버그하려고하지 않았습니다 (일반적인 플랫폼에서 작동한다는 것을 알고 있습니다). 이 특정 플랫폼에서 어떻게 작동하는지 알고 싶습니다. 시스템의이 데몬을 제어하여 하드웨어의 다른 네트워크 통신을 테스트 할 수있는 이유가 무엇인지 정확하게 알고 싶습니다. 생각을 제안하지만. 예, 어느 시점에서 저는 쉘을 작성하고 몇 가지 간단한 테스트를위한 더 쉬운 방법을 살펴 보았습니다. – Ullas

+0

쉘을 쓸 필요가 거의 없습니다. 글자 그대로 수백 가지가 있습니다. –

관련 문제