KR20140032049A - 메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법 - Google Patents

메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법 Download PDF

Info

Publication number
KR20140032049A
KR20140032049A KR1020120098099A KR20120098099A KR20140032049A KR 20140032049 A KR20140032049 A KR 20140032049A KR 1020120098099 A KR1020120098099 A KR 1020120098099A KR 20120098099 A KR20120098099 A KR 20120098099A KR 20140032049 A KR20140032049 A KR 20140032049A
Authority
KR
South Korea
Prior art keywords
debugging
memory address
target system
variable
symbol information
Prior art date
Application number
KR1020120098099A
Other languages
English (en)
Other versions
KR101400396B1 (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 KR1020120098099A priority Critical patent/KR101400396B1/ko
Publication of KR20140032049A publication Critical patent/KR20140032049A/ko
Application granted granted Critical
Publication of KR101400396B1 publication Critical patent/KR101400396B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

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

Abstract

개시된 기술은 메모리 주소를 이용한 실시간 디버깅 방법에 관한 것으로, 디버깅 프로세서(Deburgging Processor)에서 타겟 시스템(Target System)을 실시간으로 디버깅하는 방법에 있어서, 상기 타겟 시스템이 컴파일러(Compiler)에서 생성한 심볼 정보(Symbol Information)를 다운로드하여 메모리에 저장하는 단계; 상기 디버깅 프로세서가 상기 심볼 정보를 분석하여 변수가 저장되는 상기 타겟 시스템의 메모리 주소를 획득하는 단계; 상기 디버깅 프로세서가 통신 인터페이스(Communication Interface)를 통하여 상기 타겟 시스템의 인터럽트 서비스 루틴(Interrupt Service Routine, ISR)으로 상기 변수에 대한 디버깅 패킷을 전송하는 단계; 상기 인터럽트 서비스 루틴이 상기 디버깅 패킷을 수신하고, 상기 디버깅 패킷에 따라 상기 변수의 값(Value)을 읽는 단계; 및 상기 인터럽트 서비스 루틴이 상기 디버깅 패킷에 따라 상기 변수의 값을 변경하는 단계를 포함한다. 따라서 디버깅하는 소프트웨어를 추가하지 않고 메모리 주소를 이용하여 실시간으로 디버깅을 제공하므로 비용을 절감하고 전체 임베디드 시스템의 리소스를 절약하는 효과를 제공한다.

Description

메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법 {REAL-TIME EMBEDDED SOFTWARE DEBURGGING METHOD USING MEMORY ADDRESS}
개시된 기술은 메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법에 관한 것으로, 보다 자세하지만 제한됨 없이는 메모리 주소 및 인터럽트 서비스 루틴을 이용하여 실시간으로 임베디드 소프트웨어를 디버깅하는 방법에 관한 것이다.
임베디드 시스템(Embedded system)은 컴퓨터 시스템의 한 종류로, 특정 기능을 수행하도록 설계된 시스템이다. 이러한 임베디드 시스템에 있어서, 시스템의 기능을 동작시키도록 설계된 임베디드 소프트웨어(Embedded softwara)는 특정 기능에 최적화하여 크기 및 생산 비용을 줄이고, 신뢰성과 성능을 향상시키는 것을 목표로 하고 있다.
이러한 임베디드 소프트웨어에서 발생하는 버그(bug)는 시스템의 기능을 수행하는데 악영향을 미치는 요인이다. 종래 기술에서는 이러한 문제를 해결하기 위하여 별도의 디버깅(Deburgging) 소프트웨어나 에뮬레이터를 추가하여 사용하고 있다. 또한, 종래 기술에서는 디버깅을 수행하기 위해서 임베디드 소프트웨어의 프로세스를 중단하고, 문제점을 해결하고 있다.
임베디드 시스템에서 발생하는 문제점을 해결하기 위한 디버깅 방법에 대한 종래기술로는 한국 공개특허 제10-2004-0076915호 (발명의 명칭 : 디지털 시그널 프로세서의 실시간 디버깅 방법)이 있다.
개시된 기술은 메모리 주소 및 인터럽트 서비스 루틴을 이용하여 실시간으로 임베디드 소프트웨어를 디버깅하는 방법을 제공하는데 있다.
상기의 기술적 과제를 이루기 위하여 개시된 기술의 제 1 측면은 전용 에뮬레이터 또는 디버깅(Deburgging) 소프트웨어를 타겟에 추가로 탑재하지 않고, 디버깅 툴에서 타켓을 디버깅하는 방법에 있어서, 타겟이 컴파일러에서 생성된 심볼 정보(Symbol information)를 타겟이 다운로드하는 단계, 디버깅 툴이 심볼 정보를 분석하여 타겟에 저장되는 변수의 주소를 획득하는 단계, 디버깅 툴이 통신 인터페이스를 통하여 타겟의 인터럽트 서비스 루틴(ISR)으로 변수에 대한 디버깅을 요청하는 단계 및 인터럽트 서비스 루틴에서 요청에 따라 변수를 읽거나 변경하는 단계를 포함하는 메모리 주소를 이용한 실시간 디버깅 방법을 제공하는데 있다.
개시된 기술의 실시 예들은 다음의 장점들을 포함하는 효과를 가질 수 있다. 다만, 개시된 기술의 실시 예들이 이를 전부 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
개시된 기술의 일 실시예에 따르는 메모리 주소를 이용한 실시간 디버깅 방법은 별도의 디버깅 태스크를 추가하지 않으므로 리소스 낭비 및 디버깅에 소요되는 시간을 줄이고 전체 소프트웨어 동작의 역효과를 최소화하는 효과를 제공한다.
도 1은 개시된 기술의 일 실시예에 따른 메모리 주소를 이용한 실시간 디버깅 방법에 대한 흐름도이다.
도 2는 개시된 기술의 일 실시예에 따른 메모리 주소를 이용한 실시간 디버깅 방법에 대한 순서도이다.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
제1, 제2등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 사이에" 와 "바로 ~사이에" 또는 "~에 이웃하는" 과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 개시된 기술의 일 실시예에 따른 메모리 주소를 이용한 실시간 디버깅 방법에 대한 흐름도이다. 도 1을 참조하면, 메모리 주소를 이용한 실시간 디버깅 방법은 심볼 정보를 저장하는 단계(110), 메모리 주소를 획득하는 단계(120), 디버깅 패킷을 전송하는 단계(130) 및 디버깅을 수행하는 단계(140)를 포함한다. 이하에서는 각각의 단계에서 수행되는 기술적 특징에 대하여 상세하게 설명한다.
110 단계에서는 심볼 정보(Symbol information)를 저장한다. 심볼 정보는 컴파일러에서 생성된 파일이다. 컴파일러는 입력받은 소스코드를 컴파일하여 심볼 정보를 생성한다. 예컨대, 심볼 정보는 확장자가 elf인 방식의 파일일 수 있다. 또한, 심볼 정보는 컴파일러뿐만 아니라 링커(Linker)를 통해서도 생성되는 것도 가능하다. 예컨대, 심볼 정보는 링커에서 소스코드를 입력받고, 링킹을 통하여 생성된 파일일 수 있다.
한편, 생성된 심볼 정보는 타겟 시스템에서 저장한다. 즉, 타겟 시스템은 심볼 정보를 다운로드한다. 여기에서 다겟 시스템은 임베디드 소프트웨어 또는 내장형 소프트웨어를 탑재한 하드웨어를 의미한다. 일례로, 타겟 시스템은 임베디드 소프트웨어를 탑재한 로봇일 수 있다. 다른 일례로, 타겟 시스템은 내장형 소프트웨어를 탑재한 기계장치일 수도 있다.
앞서 설명한 바와 같이 타겟 시스템이 심볼 정보를 다운로드하는 과정에 있어서, 타겟 시스템은 자신의 메모리에 심볼 정보를 저장하게 된다. 타겟 시스템이 심볼 정보를 다운로드 하는 방법으로는 네트워크를 이용하는 방식이 바람직하다. 이와 같은 방식은 이 기술분야에 있어서 통상의 지식을 가진 자라면 충분히 이해할 수 있을 것이다.
120 단계에서는 디버깅 프로세서가 메모리 주소를 획득한다. 디버깅 프로세서는 타겟 시스템에 발생할 수 있는 오류를 수정하기 위하여 사용된다. 따라서, 디버깅 프로세서는 디버깅을 하기 위한 디버깅 툴을 포함한다. 예컨대, 디버깅 프로세서는 컴퓨터이고, 디버깅 툴은 컴퓨터에서 실행되는 소스코드 작성기일 수 있다.
한편, 디버깅 프로세서는 앞서 110 단계에서 심볼 정보를 생성한 컴파일러 또는 링커를 포함하는 것이 가능하다. 따라서 디버깅뿐만 아니라 타겟 시스템이 탑재하는 임베디드 소프트웨어 또는 내장형 소프트웨어에 소스코드를 작성하는 것이 가능하다. 예컨대, 디버깅 프로세서는 소스코드를 작성하고, 작성한 소스코드를 컴파일러에 입력하여 심볼 정보를 생성하고, 생성한 심볼 정보를 타겟 시스템의 메모리에 전송하는 것일 수 있다. 이러한 구성은 이 기술분야에 있어서 통상의 지식을 가진 자라면 충분히 이해할 수 있을 것이다.
한편, 개시된 기술의 일실시예에서는 디버깅을 실시간으로 수행하는데 있어서, 추가적인 소프트웨어 또는 에뮬레이터를 추가하지 않고, 메모리 주소를 이용하는 것으로 디버깅을 수행한다. 따라서, 디버깅 프로세서는 타겟 시스템에 디버깅을 위한 소프트웨어 또는 에뮬레이터를 추가하지 않고, 타겟 시스템의 메모리 주소를 획득한다. 여기에서 메모리 주소는 앞서 110 단계에서 타겟 시스템이 저장한 심볼 정보가 저장된 메모리의 주소를 획득하는 것이 바람직하다. 이러한 단계를 통하여 디버깅 프로세서는 디버깅을 수행하기 위한 준비를 끝내고, 추후 수행되는 단계에 따라 디버깅을 수행하게 된다. 디버깅을 수행하는 단계는 이하의 130 단계 및 140 단계를 통하여 후술한다.
130 단계에서는 디버깅 프로세서가 디버깅 패킷을 타겟 시스템으로 전송한다. 디버깅 프로세서는 타겟 시스템의 인터럽트 서비스 루틴(Interrupt service routine, ISR)으로 디버깅 패킷을 전송한다. 여기에서 디버깅 패킷은 앞서 120 단계에서 획득한 메모리의 주소에서 디버깅을 필요로 하는 메모리의 주소값을 요청하는 것을 의미한다. 개시된 기술의 일 실시예에서는 소프트웨어를 타겟 시스템에 추가하거나 디버깅 전용 에뮬레이터를 추가하지 않고 인터럽트 서비스 루틴에서 메모리 주소값을 이용하여 디버깅을 수행하는 것을 목표로 하고 있다. 따라서, 디버깅 프로세서는 타겟 시스템의 인터럽트 서비스 루틴으로 디버깅을 요청하는 패킷을 전송한다.
한편, 디버깅을 요청하는 디버깅 패킷을 전송하는 방식에 있어서, 디버깅 프로세서와 타겟 시스템은 서로 연결되어 있는 것이 바람직하다. 예컨대, 디버깅 프로세서에서 타겟 시스템으로 또는 타겟 시스템에서 디버깅 프로세서로 디버깅에 관련된 데이터를 주고받기 위해서는 서로 연결되어 있어야한다는 점이 전제되어야 한다.
디버깅 프로세서와 타겟 시스템을 연결하는 방식에 있어서, 개시된 기술의 일실시예에서는 통신 인터페이스를 이용하여 디버깅 프로세서와 타겟 시스템을 연결한다. 여기에서 통신 인터페이스는 예컨대, 시리얼 통신 또는 CAN 중 하나를 포함하는 방식일 수 있다. 이러한 통신 인터페이스를 통하여 전송된 디버깅 패킷은 앞서 설명한 바와 같이 디버깅을 수행할 심볼 정보의 변수가 저장된 메모리의 주소값을 요청한다.
140 단계에서는 타겟 시스템의 인터럽트 서비스 루틴에서 디버깅을 수행한다. 앞서 130 단계에서 전송된 디버깅을 요청하는 디버깅 패킷에 따라 인터럽트 서비스 루틴에서는 해당 메모리 주소에 접근하여 저장된 변수의 값(Value)을 읽거나 또는 변경하는 것이 가능하다. 따라서, 추가적인 디버깅 소프트웨어 또는 디버깅 에뮬레이터를 추가하지 않고, 인터럽트 서비스 루틴에서 메모리 주소를 이용하여 변수의 값을 수정하는 것이 가능하다. 즉, 변수의 값을 수정하는 것으로 타겟 시스템을 디버깅한다.
한편, 도면에서 도시하고 있지는 않으나, 개시된 기술의 일 실시예에서는 디버깅이 정확히 수행되었는지를 확인하기 위하여 이하의 단계를 추가로 수행하는 것이 가능하다. 예컨대, 디버깅 프로세서에서 원하는 방향으로 디버깅이 수행되었는지를 확인하기 위하여, 개시된 기술의 일 실시예에서는 타겟 시스템의 인터럽트 서비스 루틴이 수행한 디버깅에 대한 결과를 통신 인터페이스를 통하여 수신할 수 있다. 따라서, 디버깅 프로세서의 사용자는 타겟 시스템에 따로 접근하여 확인하지 않고, 그 자리에서 실시간으로 인터럽트 서비스 루틴에서 수행한 디버깅의 내역을 확인할 수 있다. 예컨대, 디버깅 프로세서의 사용자는 디버깅 프로세서의 모니터를 통하여 타겟 시스템의 인터럽트 서비스 루틴에서 수행하는 디버깅을 실시간으로 확인할 수 있다.
또한, 앞서 설명한 바와 같은 수행단계에 따라 디버깅을 수행하는 것은 종래기술에서 타겟 시스템을 정지시킨 후에 디버깅을 수행하는 것과는 달리, 인터럽트 서비스 루틴이 메모리 주소에 접근하여 실시간으로 디버깅을 수행하기 때문에, 타겟 시스템을 정지시키지 않고 디버깅 작업을 수행하는 것이 가능하다. 예컨대, 종래기술이 타겟 시스템의 MCU를 정지시키고 디버깅을 수행하는 반면, 개시된 기술의 일 실시예에서는 MCU를 정지하지 않고 실시간으로 디버깅을 수행하므로 코어들 간에 동기화 문제를 걱정할 필요가 없다.
앞서 설명한 바와 같이 개시된 기술의 일 실시예는 추가적인 디버깅 소프트웨어 또는 에뮬레이터를 추가하고 있지 않으므로, 타겟 시스템에 걸리는 과부하를 방지한다. 따라서, 타겟 시스템에서 수행하고자 하는 동작에 대한 역효과를 방지하는 효과를 제공한다. 동시에, 디버깅에 소모되는 시간 및 비용을 절감하는 효과 역시 제공한다.
도 2는 개시된 기술의 일 실시예에 따른 메모리 주소를 이용한 실시간 디버깅 방법에 대한 순서도이다. 도 2를 참조하면, 메모리 주소를 이용한 실시간 디버깅 방법은 컴파일러에서 생성된 심볼 정보를 타겟 시스템이 다운로드하고, 동시에 심볼 정보로부터 변수의 메모리 주소를 디버깅 툴이 수신한다. 심볼 정보는 예컨대, 도 2에서와 같이 System이라는 파일명을 가진 elf 파일일 수 있다.
디버깅 툴은, 앞서 도 1을 참조하여 설명한 바와 같이 디버깅 프로세서에서 실행되는 프로그램이다. 디버깅 프로세서는 수신한 메모리 주소를 참고하여 타겟 시스템이 포함하는 인터럽트 서비스 루틴으로 변수가 저장된 메모리 주소를 요청한다. 그리고 인터럽트 서비스 루틴은 요청에 따라 직접 변수의 값을 수정하여 디버깅을 수행한다.한편, 도 2에서 타겟 시스템이 포함하는 인터럽트 서비스 루틴은 요청에 따라 변수가 저장된 메모리의 주소를 디버깅 프로세서에게 제공한다. 따라서 디버깅 프로세서의 사용자는 모니터를 통하여 인터럽트 서비스 루틴에서 수행하는 디버깅을 실시간으로 확인한다.
개시된 기술의 실시예를 통한 메모리 주소를 이용한 실시간 디버깅 방법은 이해를 돕기 위하여 도면에 도시된 실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 개시된 기술의 진정한 기술적 보호범위는 첨부된 특허 청구 범위에 의해 정해져야 할 것이다.
110 : 심볼 정보 저장 120 : 메모리 주소 획득
130 : 디버깅 패킷 전송 140 : 디버깅

Claims (8)

  1. 디버깅 프로세서(Deburgging Processor)에서 타겟 시스템(Target System)을 실시간으로 디버깅하는 방법에 있어서,
    상기 타겟 시스템이 컴파일러(Compiler)에서 생성한 심볼 정보(Symbol Information)를 다운로드하여 메모리에 저장하는 단계;
    상기 디버깅 프로세서가 상기 심볼 정보를 분석하여 변수가 저장되는 상기 타겟 시스템의 메모리 주소를 획득하는 단계;
    상기 디버깅 프로세서가 통신 인터페이스(Communication Interface)를 통하여 상기 타겟 시스템의 인터럽트 서비스 루틴(Interrupt Service Routine, ISR)으로 상기 변수에 대한 디버깅 패킷을 전송하는 단계;
    상기 인터럽트 서비스 루틴이 상기 디버깅 패킷을 수신하고, 상기 디버깅 패킷에 따라 상기 변수의 값(Value)을 읽는 단계; 및
    상기 인터럽트 서비스 루틴이 상기 디버깅 패킷에 따라 상기 변수의 값을 변경하는 단계를 포함하는 메모리 주소를 이용한 실시간 디버깅 방법.
  2. 제 1 항에 있어서, 상기 변수의 값을 읽는 단계는.
    상기 읽은 변수의 값을 상기 통신 인터페이스를 통하여 상기 디버깅 프로세서로 전송하고, 상기 디버깅 프로세서는 상기 전송받은 변수의 값을 모니터에 표시하는 단계를 포함하는 메모리 주소를 이용한 실시간 디버깅 방법.
  3. 제 1 항에 있어서, 상기 심볼 정보는,
    elf 방식을 포함하는 메모리 주소를 이용한 실시간 디버깅 방법.
  4. 제 1 항에 있어서, 상기 통신 인터페이스는,
    Serial 또는 CAN을 포함하는 메모리 주소를 이용한 실시간 디버깅 방법.
  5. 제 1 항에 있어서, 상기 디버깅 패킷을 전송하는 단계는,
    상기 변수의 값을 수정하기 위하여 상기 타겟 시스템의 상기 메모리 주소를 요청하는 메모리 주소를 이용한 실시간 디버깅 방법.
  6. 제 1 항에 있어서, 상기 타겟 시스템은,
    상기 심볼 정보 및 상기 변수가 저장되는 상기 메모리의 주소를 제공하는 메모리 주소를 이용한 실시간 디버깅 방법.
  7. 제 1 항에 있어서, 상기 타겟 시스템은,
    내장된 임베디드 소프트웨어(Embedded Software)에 의해 동작하는 임베디드 시스템(Embedded System)을 포함하는 메모리 주소를 이용한 실시간 디버깅 방법.
  8. 제 1 항에 있어서, 상기 디버깅 프로세서는,
    상기 통신 인터페이스를 통하여 상기 타겟 시스템과 연결된 사용자 단말에서 실행되고, 상기 사용자 단말은 컴퓨터를 포함하는 메모리 주소를 이용한 실시간 디버깅 방법.
KR1020120098099A 2012-09-05 2012-09-05 메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법 KR101400396B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120098099A KR101400396B1 (ko) 2012-09-05 2012-09-05 메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120098099A KR101400396B1 (ko) 2012-09-05 2012-09-05 메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법

Publications (2)

Publication Number Publication Date
KR20140032049A true KR20140032049A (ko) 2014-03-14
KR101400396B1 KR101400396B1 (ko) 2014-05-27

Family

ID=50643769

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120098099A KR101400396B1 (ko) 2012-09-05 2012-09-05 메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법

Country Status (1)

Country Link
KR (1) KR101400396B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205249A (zh) * 2015-09-17 2015-12-30 深圳国微技术有限公司 一种soc调试验证系统及其软硬件协同方法
KR20190014964A (ko) * 2017-08-04 2019-02-13 주식회사 한컴엠디에스 임베디드 기기를 위한 디버깅 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165885A (ja) * 1997-08-12 1999-03-09 Nec Corp ソフトウェアディバッグ装置及びソフトウェアディバッグ方法
JP3298554B2 (ja) * 1999-04-30 2002-07-02 日本電気株式会社 ソフトウェア・デバッグ装置
KR100952762B1 (ko) * 2003-02-27 2010-04-14 엘지전자 주식회사 디지털 시그널 프로세서의 실시간 디버깅 방법
JP2007241432A (ja) * 2006-03-06 2007-09-20 Mitsubishi Electric Corp ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205249A (zh) * 2015-09-17 2015-12-30 深圳国微技术有限公司 一种soc调试验证系统及其软硬件协同方法
CN105205249B (zh) * 2015-09-17 2018-08-28 深圳国微技术有限公司 一种soc调试验证系统及其软硬件协同方法
KR20190014964A (ko) * 2017-08-04 2019-02-13 주식회사 한컴엠디에스 임베디드 기기를 위한 디버깅 방법

Also Published As

Publication number Publication date
KR101400396B1 (ko) 2014-05-27

Similar Documents

Publication Publication Date Title
US9465717B2 (en) Native code profiler framework
US8990780B2 (en) Setting breakpoints in optimized instructions
US8850267B2 (en) Middleware for multiprocessor software testing
US8910190B2 (en) Analytics data collection with low integration cost for dynamic message passing systems
CN105338110A (zh) 远程调试方法和平台、服务器
Li et al. μAFL: non-intrusive feedback-driven fuzzing for microcontroller firmware
CN103019941B (zh) 程序调试方法和装置
CN108804313B (zh) 一种远程调试程序的方法、装置和服务器
Grokhotkov ESP8266 arduino core documentation
US9645911B2 (en) System and method for debugging firmware/software by generating trace data
CN102736938A (zh) Fpga配置程序的烧写方法
JP2014532914A (ja) プログラム可能な試験機器
CN109683997B (zh) 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备
KR20130123582A (ko) 로그 모니터링 방법, 그 서버 및 기록 매체
US8943480B2 (en) Setting breakpoints in optimized instructions
CN107844410A (zh) 一种分布式集群系统的调试方法和装置
KR101400396B1 (ko) 메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법
CN109542464B (zh) IoT设备脚本程序的开发部署系统、方法及存储介质
CN103176903B (zh) MapReduce分布式系统程序的测试方法及设备
CN113704032A (zh) 一种嵌入式异构多核处理器架构并行调试系统及方法
CN112199270B (zh) 一种程序测试方法、装置、设备及介质
Tang et al. Internet of things security: Principles and practice
CN108107872B (zh) 一种基于网络的dsp应用在线调试系统及调试方法
US20160196205A1 (en) Method and apparatus for accessing remote mobile devices
CN114579131A (zh) 用于获取硬件性能数据的方法、设备和系统

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: 20170328

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 6