KR100901780B1 - 내장형 시스템 오류 수정을 위한 비정지 디버깅 장치 및방법 - Google Patents

내장형 시스템 오류 수정을 위한 비정지 디버깅 장치 및방법 Download PDF

Info

Publication number
KR100901780B1
KR100901780B1 KR1020070067987A KR20070067987A KR100901780B1 KR 100901780 B1 KR100901780 B1 KR 100901780B1 KR 1020070067987 A KR1020070067987 A KR 1020070067987A KR 20070067987 A KR20070067987 A KR 20070067987A KR 100901780 B1 KR100901780 B1 KR 100901780B1
Authority
KR
South Korea
Prior art keywords
debugging
stop
command
stop debugging
user
Prior art date
Application number
KR1020070067987A
Other languages
English (en)
Other versions
KR20080052261A (ko
Inventor
전인걸
이춘오
우덕균
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US11/941,039 priority Critical patent/US20080133977A1/en
Publication of KR20080052261A publication Critical patent/KR20080052261A/ko
Application granted granted Critical
Publication of KR100901780B1 publication Critical patent/KR100901780B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 내장형 시스템을 디버깅하기 위한 장치 및 방법에 관한 것으로서,특히 호스트와 타겟으로 이루어진 개발 환경에서 내장형 시스템을 정지시키지 않으며 디버깅을 하기 위한 장치 및 방법에 관한 것이다.
따라서 본 발명에 따른 내장형 시스템 비정지 디버깅 장치는, 사용자와의 인터페이스를 담당하는 사용자 인터페이스; 및 사용자가 상기 사용자 인터페이스를 통해 비정지 디버깅 관련 명령을 하면 디버깅에 필요한 정보를 저장하고 타겟 시스템으로 제공하는 한편 타겟 시스템의 응용 프로그램의 디버깅 처리 결과를 수신하면 이를 저장하고 상기 사용자 인터페이스를 통하여 사용자에게 나타내는 디버깅 엔진;으로 구성된 호스트 시스템과, 상기 디버깅 엔진에 저장된 디버깅에 필요한 정보를 참조하여 비정지 디버깅을 수행하는 한편 디버깅 처리 결과를 상기 호스트 시스템의 디버깅 엔진으로 제공하는 디버거 스터브로 구성된 타겟 시스템을 포함한다.
또한 본 발명에 따른 내장형 시스템 오류 수정을 위한 비정지 디버깅 방법은, (a) 호스트 시스템에서, 사용자로부터 비정지 디버깅 명령을 수신하는 단계; (b) 호스트 시스템에서, 상기 수신한 명령을 해석하고 타겟 시스템의 응용 프로그램에서 사용되는 명령어로 변환하는 단계; (c) 호스트 시스템에서 상기 응용 프로그램의 비정지 디버깅을 설정하는 단계; (d) 호스트 시스템에 설정된 비정지 디버깅을 타겟 시스템에서 수행하는 단계; (e) 타겟 시스템에서 비정지 디버깅 결과를 호스트 시스템에 제공하는 단계; 및 (f) 상기 비정지 디버깅의 결과를 재생하는 단계;를 포함한다.
본 발명에 따른 내장형 시스템 비정지 디버깅 장치 및 방법에 따르면, 시간에 민감한 응용 프로그램과 사용자에게 많은 시간을 요구하는 응용 프로그램에서 사용자의 빈번한 조작 없이도 또한 응용 프로그램을 정지시키지 않으며 내장형 시스템의 응용 프로그램을 용이하게 디버깅을 할 수 있게 한다.
또한 본 발명에 따르면, 비정지 디버깅을 위한 명령어 및 기타 디버깅에 필요한 정보를 호스트 시스템에 저장하므로, 자원의 제약에 민감한 내장형 시스템의 특성에 부합하게 타겟 시스템에의 부하를 최소화시킨다.
내장형 시스템, 오류 수정, 비정지 디버깅, 원격 디버깅

Description

내장형 시스템 오류 수정을 위한 비정지 디버깅 장치 및 방법{Non-stop Debugging Apparatus for Correcting Errors in Embedded Systems and Method thereof}
본 발명은 내장형 시스템 디버깅 장치 및 방법(Debugging Apparatus for Correcting Errors in Embedded Systems and Method thereof)에 관한 것으로, 보다 상세하게는 호스트와 타겟으로 이루어지는 원격 개발 환경에서 내장형 시스템을 정지시키지 않으며 오류를 발견하고 이를 디버깅할 수 있도록 하는 비정지 디버깅 장치 및 방법에 관한 것이다.
본 발명은 정보통신부의 모바일 컨버전스 컴퓨팅을 위한 단말적응형 임베디드 운영체제 기술개발의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-038-01, 과제명: 단말 적응형 임베디드 OS 플랫폼 연구].
주지하다시피, 일반적인 컴퓨터 시스템과 달리 내장형 시스템(embedded system)은 사용자나 외부의 입력에 대하여 어떤 응답 또는 처리를 하도록 설계된다. 즉, 시스템 내에 논리적으로 정의된 기능들이 소정 순서에 따라서 정확하게 수행되어야 하며, 실시간 실행이 결정적인 내장형 시스템의 경우에는 이러한 기능 들이 소정의 시간 내에 정확하게 수행되어야 한다.
이러한 내장형 시스템은 일반적인 응용 소프트웨어와는 다른 방식으로 개발되는데, 소프트웨어 외에도 내장형 시스템의 하드웨어에 관한 많은 지식을 요구하므로 신뢰성 있는 시스템을 개발하기가 매우 어렵다. 따라서 이러한 고난이도의 내장형 시스템을 안정적으로 개발하기 위해서는 시스템의 특성에 맞게 다양한 요구들을 반영할 수 있도록 기능적 오류를 효과적으로 발견하고 이를 수정하기 위한 방법 및 장치가 필요하다.
한편, 이러한 내장형 시스템 디버깅은 내장형 시스템의 특성에 의해 타겟에서의 직접적인 디버깅이 불가능하므로, 호스트와 타겟으로 이루어지는 원격 디버깅 환경에서 수행되는데, 일반적으로 테스트용 프로그램을 타겟에 설치하여 실행시키면서 디버깅할 수 있는 방법과 함께 하드웨어 디버깅(hardware debugging)과 같이 테스트용 프로그램이 동작하는 동안에 실시간으로 디버깅을 위한 정보를 출력하여 기록하고 그것을 분석하는 환경을 별도로 제공해왔다.
일반적으로 원격 개발 환경에서 소프트웨어 개발자가 디버깅을 하고자 하는 경우에는, 정보를 기록하기를 원하는 지점에 "printf" 명령어를 삽입하여 실행시키는 아주 단순한 방법을 이용하거나 또는 보다 발전된 방법으로 자원 모니터(resource monitor)를 이용하여 실시간으로 발생하는 프로그램의 실행 상태를 추적하는 방법을 이용해왔다.
그러나 printf 명령어나 모니터링을 위한 코드를 삽입하는 방법은 이들 코드를 소스 코드에 직접 삽입하여 실행시켜야 하므로 소스 코드의 순수성을 떨어뜨릴 수 있으며 테스트해 볼 모든 경우의 수에 해당하는 수만큼 수동으로 소스 코드를 변경하여 테스트용 프로그램을 작성하고 실행시켜야 한다는 번거로움이 따르며, 특히 결과를 출력해 볼 수 있는 환경이 구축되어 있지 않은 내장형 시스템의 경우에 이러한 방법을 이용하기가 곤란한 경우가 있었다.
이와 같이, 상기와 같은 내장형 시스템의 오류 수정을 하는데 있어서, 테스트 프로그램을 작성하고 수행하는 데에는 번거로움이 따르며 테스트 프로그램을 이용한 오류 발견이 불가능한 경우도 있으므로 프로그램의 오류를 실시간으로 발견할 수 있는 기술이 강력히 요구된다.
따라서 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 고안된 것으로서, 내장형 시스템의 소프트웨어를 개발하면서 발생하는 오류를 시스템을 정지시키지 않으며 발견하고 이를 수정할 수 있도록 하는 비정지 디버깅 장치 및 방법을 제공하는데 그 목적이 있다.
상기한 목적을 달성하기 위하여 본 발명에 따른 내장형 시스템 비정지 디버깅 장치는, 사용자와의 인터페이스를 담당하는 사용자 인터페이스; 및 사용자가 상기 사용자 인터페이스를 통해 비정지 디버깅 관련 명령을 하면 디버깅에 필요한 정보를 저장하고 타겟 시스템으로 제공하는 한편 타겟 시스템의 응용 프로그램의 디버깅 처리 결과를 수신하면 이를 저장하고 상기 사용자 인터페이스를 통하여 사용 자에게 나타내는 디버깅 엔진;으로 구성된 호스트 시스템과, 상기 디버깅 엔진에 저장된 디버깅에 필요한 정보를 참조하여 비정지 디버깅을 수행하는 한편 디버깅 처리 결과를 상기 호스트 시스템의 디버깅 엔진으로 제공하는 디버거 스터브로 구성된 타겟 시스템을 포함하는 것을 특징으로 한다.
또한 본 발명에 따른 내장형 시스템 오류 수정을 위한 비정지 디버깅 방법은, (a) 호스트 시스템에서, 사용자로부터 비정지 디버깅 명령을 수신하는 단계; (b) 호스트 시스템에서, 상기 수신한 명령을 해석하고 타겟 시스템의 응용 프로그램에서 사용되는 명령어로 변환하는 단계; (c) 호스트 시스템에서 상기 응용 프로그램의 비정지 디버깅을 설정하는 단계; (d) 호스트 시스템에 설정된 비정지 디버깅을 타겟 시스템에서 수행하는 단계; (e) 타겟 시스템에서 비정지 디버깅 결과를 호스트 시스템에 제공하는 단계; 및 (f) 상기 비정지 디버깅의 결과를 재생하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 의하면, 사용자는 호스트 시스템에 있는 디버깅 엔진 통해 원격의 타겟 시스템상의 응용 프로그램의 오류를 발견하고 이를 수정할 수 있다. 특히 시간에 민감한 응용 프로그램과 사용자에게 많은 시간을 요구하는 응용 프로그램의 경우에 사용자의 빈번한 조작 없이도 또한 응용 프로그램을 멈추지 않고도 원하는 시점에서 응용 프로그램의 정보를 기록할 수 있으며, 모든 응용 프로그램의 동작이 끝난 후 재생 기능을 통해 응용 프로그램의 오류를 발견할 수 있다. 일반적인 디버깅 방법과 다르게 본 발명에서는 호스트에 있는 디버깅 엔진이 비정지 디버깅을 위한 명령어 및 정보를 저장하고, 타겟 시스템에서는 단지 이러한 명령어 및 정보를 수신하여 처리하고 결과를 전송하는 기능만을 유지하므로 자원의 제약에 민감한 내장형 시스템의 특성에 적합하게 타겟 시스템에 최소한의 부하를 최소화킬 수 있다.
또한 사용자 편의를 위해 GUI를 제공하여 개발자들이 특별한 하드웨어 장비를 구입하지 않고도 내장형 시스템의 응용 프로그램을 정지시키지 않은 상태에서 오류를 발견하며 이를 용이하게 수정할 수 있다는 효과가 있다.
이하, 본 발명의 일 실시예에 따른 내장형 시스템 비정지 디버깅 장치 및 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 내장형 시스템 비정지 디버깅 장치의 구성을 나타내는 기능 블록도를 도시한다.
도 1에 도시하는 바와 같이 본 발명에서 제공하는 디버깅 환경은 내장형 시스템의 특성에 따라 타겟에서의 직접적인 디버깅이 불가능하므로 호스트 시스템(10)과 타겟 시스템(20)으로 구성되며, 양 시스템간의 통신은 시리얼 또는 이더넷과 같은 연결을 통해 이루어진다.
호스트 시스템(10)은 개발자가 사용하기를 원하는 운영체제(11) 상에서 구성이 되고 비정지 디버깅 에이전트(미도시)를 포함하는 디버깅 엔진(12)과 사용자로부터 명령을 수신하고 결과를 나타내는 사용자 인터페이스(13)로 구성된다. 타겟 시스템(20)은 실제 개발에 이용되는 운영체제(21) 상에 디버거 스터브(22)를 추가하여 구성되며 도 1에는 실제 오류를 발견하여 수정하고자 하는 응용 프로그램의 예(23)도 도시되어 있다.
도 2는 본 발명에 따른 내장형 시스템 비정지 디버깅 장치에서 호스트 시스템(10)에 설치되는 디버깅 엔진(12)의 세부 구성을 도시한다.
도 2를 참조하면, 사용자 인터페이스(13)는 사용자로부터 명령을 수신하고 결과를 나타내기 위한 그래픽 사용자 인터페이스(GUI)이며, 디버깅 엔진(12)은 일반적인 내장형 시스템 디버거(121); 비정지 디버깅을 위한 제어를 담당하는 비정지 디버깅 에이전트(122); 및 비정지 디버깅을 위한 여러 가지 정보, 예를 들어, 비정지점 리스트, 각 비정지점별로 정의되어 그 위치에서 수행해야 하는 동작 및 그 결과에 대한 덤프 값 등을 저장하는 비정지 디버깅 정보 저장소(123);를 포함한다.
특히, 비정지 디버깅 에이전트(122)는 사용자 인터페이스(13)를 통해서 수신하는 비정지 디버깅을 위한 사전결정된 명령어, 예를 들어 비정지점을 설정하고 삭제하는 명령어 및 비정지점에서 수행해야 하는 동작 등을 기술하는 명령어 등을 응용 프로그램에서 사용하는 언어로 해석하는 명령어 해석기(124)와 비정지 디버깅의 결과를 비정지 디버깅 결과 처리기[도 3의 도면 부호(224) 참조]로부터 수신하여 재생하고 사용자 인터페이스(13)를 통해 사용자에게 표시시키는 리플레이 처리기(125)를 포함한다.
도 3은 본 발명에 따른 내장형 시스템 비정지 디버깅 장치에서 타겟 시스템(20)에 설치되는 디버거 스터브(22)의 세부 구성을 도시한다.
도 3을 참조하면, 디버거 스터브(22)는 응용 프로그램을 제어하기 위한 응용 프로그램 제어기(221) ― 개발자가 오류를 발견하고자 하는 응용 프로그램은 응용 프로그램 제어기(221)를 통해서 내장형 시스템 디버거 스터브(222)에 의해 제어됨 ― ; 호스트 시스템의 디버깅 엔진(12)에서 전송한 비정지 디버깅 명령을 수신하고 비정지 디버깅 정보 저장소(123)를 참조하여 디버깅 명령을 처리하기 위한 비정지 디버깅 명령어 처리기(223)와 비정지 디버깅 결과를 처리하여 호스트 시스템(10)으로 전송하기 위한 비정지 디버깅 결과 처리기(224)를 포함하며 일반적인 내장형 시스템에서의 디버깅 기능을 제공하는 내장형 시스템 디버거 스터브(222)를 포함한다.
다음, 도 4는 본 발명의 일 실시예에 따른 내장형 시스템 비정지 디버깅 방법의 순서도를 나타낸다.
아래에서는, 도 2, 3 및 4를 참조하여 본 발명에 따른 내장형 시스템의 비정지 디버깅 방법을 설명한다.
먼저 단계(S410)에서, 호스트 시스템(10)은 오류 수정 대상이 되는 응용 프로그램(23)에 접속하고, 개발자 또는 테스터(이하, 사용자라 함)로부터 비정지 디버깅 지점 설정 또는 해제 명령을 사용자 인터페이스(13)를 통하여 수신한다.
단계(S420)에서, 사용자로부터 수신한 명령은 디버깅 엔진(12)의 명령어 해석기(124)를 통해서 해석되고 응용 프로그램에서 사용되는 형태의 명령어로 변환된다. 사용자로부터 비정지 디버깅 지점을 설정하는 명령어를 수신한 경우에는 비정지 디버깅될 타겟 시스템의 응용 프로그램의 라인 번호를 비정지 디버깅 정보 저장소(123)에 기록하는 형식으로 비정지 디버깅 지점을 설정하고, 비정지 디버깅 지점 을 해제하는 명령어를 수신한 경우에는 비정지 디버깅 정보 저장소(123)로부터 해당 라인의 정보를 삭제하는 형식으로 비정지 디버깅 지점을 해제한다.
다음으로 단계(S430)에서 사용자 인터페이스(13)를 통해 사용자로부터 비정지 디버깅 동작 명령을 수신한다. 이는 단계(S420)에서 비정지 디버깅을 위해 설정한 지점에서 사용자가 원하는 동작을 설정하는 단계인데, 특히, 비정지 디버깅을 위해 설정한 지점에서 사용자가 원하는 정보, 예를 들어 타겟 시스템의 상태와 같은 소정 유형의 정보를 기록하는 등의 동작을 사용자가 지정한다.
이와 같이 사용자로부터 수신한 비정지 디버깅 동작 명령을 단계(S440)에서 비정지 디버깅 에이전트(122)가 명령어 해석기(124)를 통해 해석하고 설정된 디버깅 지점에서의 해당 동작 내용을 비정지 디버깅 정보 저장소(123)에 저장하게 된다.
다음으로, 단계(S450)에서는 단계(S420) 및 단계(S440)를 통해 정의된 비정지 디버깅 지점 설정과 비정지 디버깅 동작을 실제로 수행하는 단계이다. 이 단계에서는 호스트 시스템(10)의 비정지 디버깅 정보 저장소(123)에 저장된 내용을 기초로 하여 내장형 시스템 디버거(121)가 비정지 디버깅 에이전트(122)와 협력하여 타겟 시스템(20)의 비정지 디버깅 스터브(222)를 제어한다. 이 때 타겟 시스템(20)에서 내장형 시스템 디버거 스터브(222)의 비정지 디버깅 명령어 처리기(223)는 호스트 시스템의 비정지 디버깅 정보 저장소(123)에 저장되어 있는 정보를 바탕으로 응용 프로그램 제어기(221)를 통해 비정지 디버깅 지점 설정 및 비정지 디버깅 동작을 실제로 수행하게 하며 그 결과에 대한 덤프 값 등은 비정지 디버 깅 결과 처리기(224)가 호스트 시스템(10)의 내장형 시스템 디버거(121)에게 전송하여 비정지 디버깅 정보 저장소(123)에게 저장하게 한다.
단계(S460)에서는, 단계(S450)에서 수행한 비정지 디버깅 동작 완료 후 비정지 디버깅 정보 저장소(123)에 기록된 정보를 토대로 리플레이 처리기(125)가 응용 프로그램(23)의 디버깅 덤프 파일을 재생하는 단계이다. 이 단계에서는 단계(S420)에서 설정한 지점에서 단계(S440)에서 정의한 동작을 수행한 결과를 사용자가 사용자 인터페이스(13)를 통해서 볼 수 있다. 특히 이러한 재생을 통하여 사용자는 실시간으로 디버깅을 수행하는 것과 같은 효과를 얻을 수 있다.
다음 단계(S470)에서 재생되는 응용 프로그램(23)의 디버깅 덤프 파일을 확인하며 디버깅의 결과를 분석한다. 사용자는 호스트 시스템(10)의 사용자 인터페이스(13)를 통해 확인되는 디버깅 결과를 사용자가 원하는 결과와 비교함으로써 또는 그 결과를 분석함으로써 응용 프로그램의 결과를 분석하고, 마지막으로 단계(S480)에서 응용 프로그램이 무결하다고 판정하면 디버깅을 종료하고, 오류가 존재하면 단계(S490)에서 사용자가 응용 프로그램의 오류를 수정하고 다시 단계(S410) 내지 단계(S470)를 단계(S480)에서 오류가 발견되지 않을 때까지 반복한다.
이와 같은 본 발명에 따른 비정지 디버깅 방법에 의해서 사용자는 최종적으로 오류가 수정된 응용 프로그램을 획득할 수 있다.
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 이러한 실시예에 국한되는 것이 아니며 본 발명의 기술사상을 벗어나지 않 는 범위 내에서 다양하게 변형 실시될 수 있다.
도 1은 본 발명의 일 실시예에 따른 내장형 시스템 비정지 디버깅 장치의 구성을 나타내는 기능 블록도.
도 2는 도 1에 따른 내장형 시스템 비정지 디버깅 장치에서 호스트 시스템(host system)에 설치되는 디버깅 엔진의 세부 구성을 나타내는 기능 블록도.
도 3은 도 1에 따른 내장형 시스템 비정지 디버깅 장치에서 타겟 시스템(target system)에 설치되는 디버거 스터브의 세부 구성을 나타내는 기능 블록도.
도 4는 본 발명의 일 실시예에 따른 내장형 시스템 비정지 디버깅 방법의 순서도.
*도면 주요 부분에 대한 부호의 설명*
10 : 호스트 시스템 11 : 호스트 시스템의 운영체제
12 : 디버깅 엔진 13 : 사용자 인터페이스
20 : 타겟 시스템 21 : 타겟 시스템의 운영체제
22 : 디버거 스터브 23 : 응용 프로그램
121 : 내장형 시스템 디버거 122 : 비정지 디버깅 에이전트
123 : 비정지 디버깅 정보 저장소 124 : 명령어 해석기
125 : 리플레이 처리기 221 : 응용 프로그램 제어기
222 : 내장형 시스템 디버거 스터브
223 : 비정지 디버깅 명령어 처리기
224 : 비정지 디버깅 결과 처리기

Claims (12)

  1. 사용자와의 인터페이스를 담당하는 사용자 인터페이스; 및 상기 사용자 인터페이스를 통해 사용자로부터 비정지 디버깅 관련 명령이 입력되면 디버깅에 필요한 정보를 타겟 시스템으로 제공하고 타겟 시스템의 응용 프로그램의 비정지 디버깅 처리 결과를 수신하면 상기 사용자 인터페이스를 통하여 사용자에게 표시하는 디버깅 엔진을 구비하는 호스트 시스템과,
    상기 디버깅 엔진에 저장된 상기 디버깅에 필요한 정보를 참조하여 비정지 디버깅을 수행하는 한편 상기 비정지 디버깅 처리 결과를 상기 호스트 시스템의 상기 디버깅 엔진으로 제공하는 디버거 스터브를 구비하는 타겟 시스템
    을 포함하며,
    상기 호스트 시스템의 상기 디버깅 엔진은,
    상기 사용자 인터페이스를 통하여 사용자의 비정지 디버깅 관련 명령을 수신하는 한편 상기 타겟 시스템의 디버거 스터브를 제어하는 내장형 시스템 디버거;
    상기 비정지 디버깅에 필요한 정보 및 상기 타겟 시스템으로부터 제공되는 디버깅 결과를 저장하는 비정지 디버깅 정보 저장소; 및
    상기 내장형 시스템 디버거 및 상기 비정지 디버깅 정보 저장소와 통신하며 비정지 디버깅에 필요한 정보를 상기 디버거 스터브에 제공하고 디버깅 결과를 수신하여 재생하는 비정지 디버깅 에이전트;
    를 포함하는 내장형 시스템 비정지 디버깅 장치.
  2. 제 1 항에 있어서,
    상기 비정지 디버깅 관련 명령은, 비정지 디버깅 지점을 설정 또는 해제하는 명령; 및 상기 설정 또는 해제되는 비정지 디버깅 지점에서의 동작 명령을 포함하는 내장형 시스템 비정지 디버깅 장치.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 비정지 디버깅 에이전트는,
    상기 사용자 인터페이스를 통하여 수신하는 비정지 디버깅 명령을 해석하고 상기 응용 프로그램에서 사용하는 명령어로 변환하는 명령어 해석기; 및
    상기 비정지 디버깅 정보 저장소에 저장되는 디버깅 결과를 재생하는 리플레이 처리기;
    를 포함하는 내장형 시스템 비정지 디버깅 장치.
  5. 제 1 항에 있어서,
    상기 디버거 스터브는,
    응용 프로그램 제어기;
    상기 디버깅 엔진에 저장된 정보를 수신하고 상기 응용 프로그램 제어기를 통하여 상기 응용 프로그램을 제어하여 상기 사용자의 디버깅 명령을 수행하는 비정지 디버깅 명령어 처리기; 및
    상기 디버깅 명령의 결과를 상기 호스트 시스템의 상기 비정지 디버깅 에이전트에게 제공하는 비정지 디버깅 결과 처리기;
    를 포함하는 내장형 시스템 비정지 디버깅 장치.
  6. 제 4 항에 있어서,
    상기 비정지 디버깅 에이전트는 상기 디버깅 명령의 결과를 비정지 디버깅 정보 저장소에 저장하는 내장형 시스템 비정지 디버깅 장치.
  7. 제 5 항에 있어서,
    상기 호스트 시스템과 상기 타겟 시스템은 시리얼 또는 이더넷으로 연결되어 통신하며, 상기 사용자 인터페이스는 그래픽 사용자 인터페이스(GUI)인 내장형 시스템 비정지 디버깅 장치.
  8. 호스트 및 타겟 시스템으로 이루어지는 원격 개발 환경에서 내장형 시스템을 비정지 디버깅하는 방법에 있어서, 상기 방법은,
    (a) 호스트 시스템에서, 사용자로부터 비정지 디버깅 명령을 수신하는 단계;
    (b) 호스트 시스템에서, 상기 수신한 명령을 해석하고 타겟 시스템의 응용 프로그램에서 사용되는 명령어로 변환하는 단계;
    (c) 호스트 시스템에서 상기 응용 프로그램의 비정지 디버깅을 설정하는 단계;
    (d) 호스트 시스템에 설정된 비정지 디버깅을 타겟 시스템에서 수행하는 단계;
    (e) 타겟 시스템에서 비정지 디버깅 결과를 호스트 시스템에 제공하는 단계; 및 (f) 상기 비정지 디버깅의 결과를 재생하는 단계;
    를 포함하며,
    상기 단계(c)에서 비정지 디버깅을 설정하는 것은 상기 응용 프로그램에서 사용되는 명령어로 변환된 명령 및 관련 정보를 호스트 시스템에 저장하는 것에 의해서 설정되고, 상기 단계(d)에서 타겟 시스템에서의 비정지 디버깅 수행은, 상기 호스트 시스템에 저장된 비정지 디버깅 명령 및 관련 정보를 참조하여 수행되는 것을 특징으로 하는 내장형 시스템 비정지 디버깅 방법.
  9. 제 8 항에 있어서,
    (g) 디버깅 결과를 분석하는 단계; 및
    (h) 상기 응용 프로그램의 무결성을 판정하는 단계;
    를 더 포함하는 내장형 시스템 비정지 디버깅 방법.
  10. 제 8 항에 있어서,
    상기 단계(a)에서 사용자로부터 수신하는 비정지 디버깅 명령은 비정지 디버깅 지점을 설정 또는 해제하는 명령; 및 상기 설정 또는 해제되는 비정지 디버깅 지점에서의 동작 명령을 포함하는 내장형 시스템 비정지 디버깅 방법.
  11. 삭제
  12. 삭제
KR1020070067987A 2006-05-12 2007-07-06 내장형 시스템 오류 수정을 위한 비정지 디버깅 장치 및방법 KR100901780B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/941,039 US20080133977A1 (en) 2006-05-12 2007-11-15 Non-stop debugging apparatus for correcting errors in embedded systems and method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060122337 2006-12-05
KR1020060122337 2006-12-05

Publications (2)

Publication Number Publication Date
KR20080052261A KR20080052261A (ko) 2008-06-11
KR100901780B1 true KR100901780B1 (ko) 2009-06-11

Family

ID=39826154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070067987A KR100901780B1 (ko) 2006-05-12 2007-07-06 내장형 시스템 오류 수정을 위한 비정지 디버깅 장치 및방법

Country Status (1)

Country Link
KR (1) KR100901780B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101385817B1 (ko) * 2012-05-31 2014-04-29 임주인 프로그래밍 언어 해석기가 내장된 디버깅 장치 및 이를 구비하는 컴퓨터 시스템
KR102619941B1 (ko) * 2020-10-15 2024-01-02 한국전자통신연구원 임베디드 시스템의 타겟 시스템을 위한 진단장치의 다중연결 방법 및 장치
CN117667722A (zh) * 2023-12-08 2024-03-08 中科世通亨奇(北京)科技有限公司 程序跟踪调试的方法、系统、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030055703A (ko) * 2001-12-27 2003-07-04 한국전자통신연구원 인증된 응용 프로그램을 획득하기 위한 트레이스 재실행시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030055703A (ko) * 2001-12-27 2003-07-04 한국전자통신연구원 인증된 응용 프로그램을 획득하기 위한 트레이스 재실행시스템 및 방법

Also Published As

Publication number Publication date
KR20080052261A (ko) 2008-06-11

Similar Documents

Publication Publication Date Title
US20080133977A1 (en) Non-stop debugging apparatus for correcting errors in embedded systems and method thereof
US8156475B2 (en) Device and method for testing embedded software using emulator
US8789023B2 (en) Backward post-execution software debugger
EP2724235B1 (en) N-way runtime interoperative debugging
US7653899B1 (en) Post-execution software debugger with performance display
JP4901075B2 (ja) コンピュータ読取可能な媒体、方法及びコンピューティングデバイス
US8584097B2 (en) Post-execution software debugger with event display
CN110580226B (zh) 操作系统级程序的目标码覆盖率测试方法、系统及介质
US20080244325A1 (en) Automated software support system with backwards program execution and debugging
US20120317550A1 (en) Forward post-execution software debugger
US20080127067A1 (en) Method and system for timing code execution in a korn shell script
JP2005011342A (ja) プラグ可能構成要素におけるブレークポイントのデバッグ
US9009678B2 (en) Software debugging with execution match determinations
US7353498B2 (en) Multi-process debugger
US8667255B2 (en) Measuring runtime coverage of architectural events of a microprocessor
US8015552B1 (en) Post-execution software debugger with coverage display
CN110610089A (zh) 用户行为模拟方法、装置及计算机设备
KR20190019009A (ko) 게임 테스트 자동화 장치 및 방법
US8689223B2 (en) Mechanisms to detect priority inversion
US10387294B2 (en) Altering a test
KR100901780B1 (ko) 내장형 시스템 오류 수정을 위한 비정지 디버깅 장치 및방법
US8458669B2 (en) Automated test system
KR101251792B1 (ko) 디버거를 이용한 임베디드 소프트웨어 단위 테스트 자동화 장치 및 방법
KR100428712B1 (ko) 멀티 태스크 프로그램의 논스톱 디버깅을 위한트레이스포인트 설정 방법
JP2003281076A (ja) Dmaコントローラの不正アクセス検出装置、不正アクセス検出方法およびそのプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130527

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190527

Year of fee payment: 11