[go: up one dir, main page]

KR20080000476A - Debugging system and method - Google Patents

Debugging system and method Download PDF

Info

Publication number
KR20080000476A
KR20080000476A KR1020060058333A KR20060058333A KR20080000476A KR 20080000476 A KR20080000476 A KR 20080000476A KR 1020060058333 A KR1020060058333 A KR 1020060058333A KR 20060058333 A KR20060058333 A KR 20060058333A KR 20080000476 A KR20080000476 A KR 20080000476A
Authority
KR
South Korea
Prior art keywords
debugging
target device
break point
code
connection
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020060058333A
Other languages
Korean (ko)
Other versions
KR101137569B1 (en
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 KR1020060058333A priority Critical patent/KR101137569B1/en
Priority to US11/768,012 priority patent/US20080126865A1/en
Publication of KR20080000476A publication Critical patent/KR20080000476A/en
Application granted granted Critical
Publication of KR101137569B1 publication Critical patent/KR101137569B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3648Debugging of software using additional hardware
    • G06F11/3652Debugging of software using additional hardware in-circuit-emulation [ICE] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 타겟장치의 오작동을 디버깅하는 시스템에 관한 것으로, The present invention relates to a system for debugging a malfunction of a target device.

상기 타겟장치와 연결된 상태에서 영구 브레이크 포인트를 상기 타겟장치에 설정하는 디버깅 장치와, 상기 디버깅 장치와의 연결이 해제된 상태에서 상기 브레이크 포인트가 실행되면, 동작을 정지하는 타겟장치로 구성된다. 이때, 상기 디버깅 장치는 상기 타겟장치의 디버깅을 상기 정지된 상태에서부터 시작하는 것을 특징으로 한다. 본 발명은 타겟장치와 디버깅 장치의 연결이 제거되어도 브레이크 포인트를 타겟장치에 유효하게 유지시킴으로써, 상기 두 장치가 연결되지 않은 상태에서는 디버깅을 수행할 수 없었던 종래 기술의 문제점을 해결하였으며, 타겟장치만으로 오류 재현 테스트가 가능하므로 개발자는 보다 많은 장소로 이동하여, 많은 상황에 대처한 테스트를 수행할 수 있게 되었다.And a debugging device for setting a permanent break point to the target device in a state of being connected to the target device, and a target device for stopping operation when the break point is executed while the connection with the debugging device is released. At this time, the debugging device is characterized in that starting the debugging of the target device from the stopped state. The present invention solves the problem of the prior art in which debugging cannot be performed when the two devices are not connected by maintaining the breakpoint in the target device even when the connection between the target device and the debugging device is removed. Error-reproducible testing allows developers to move to more places and run tests for many situations.

Description

디버깅 시스템 및 방법{SYSTEM AND METHOD FOR DEBUGGING}Debugging System and Methods {SYSTEM AND METHOD FOR DEBUGGING}

도1은 일반적 디버깅 시스템의 구성을 나타낸 도면. 1 is a diagram showing the configuration of a general debugging system.

도2는 종래의 디버깅 방법을 나타낸 흐름도.2 is a flowchart showing a conventional debugging method.

도3은 본 발명의 일실시 예에 따른 디버깅 시스템의 블록 구성도.Figure 3 is a block diagram of a debugging system according to an embodiment of the present invention.

도4는 본 발명의 일실시 예에 따른 디버깅 시스템의 동작 흐름도.4 is an operation flowchart of a debugging system according to an embodiment of the present invention.

도5는 브레이크 포인트 코드가 이식된 프로그램의 소스 코드와 기계어 코드를 나타낸 도면.5 is a diagram illustrating source code and machine code of a program in which a breakpoint code is implanted.

도6은 소스레벨에서, 도4의 일부 과정들(S150 ~ S170)을 나타낸 흐름도.FIG. 6 is a flowchart showing some processes S150 to S170 of FIG. 4 at the source level.

도7은 본 발명의 일 실시예에 따른 타겟장치의 블록 구성도.7 is a block diagram of a target device according to an embodiment of the present invention.

*** 도면의 주요부분에 대한 부호의 설명 ****** Explanation of symbols for main parts of drawing ***

100, 300 : 디버깅 장치 310, 410 : 제어부100, 300: debugging device 310, 410: control unit

320 : 디버깅 툴 320: debugging tool

200, 400 : 타겟장치 420 : 디버깅 에이젼트200, 400: Target device 420: Debugging agent

본 발명은 디버깅 기술에 관한 것으로, 특히 타겟장치의 오작동을 재현하여 디버깅을 수행하는 디버깅 시스템 및 방법에 관한 것이다.The present invention relates to a debugging technique, and more particularly, to a debugging system and method for performing debugging by reproducing a malfunction of a target device.

소프트웨어를 개발하는 과정에서 대개, 크고 작은 오류가 발생한다. 특히, 프로그램을 설계하고 코딩하는 단계에서 많은 오류가 발생한다. 개발자들은 이러한 프로그램 상의 오류를 버그(Bug)라고 하며, 숨겨진 버그를 발견하고 그 원인을 밝히는 작업을 디버깅(Debugging)이라 한다. 디버깅은 제품의 하자를 줄이고 소프트 웨어(소프트웨어 플랫폼(WISE), 모바일 플랫폼(CDMA/GSM/3G), 오퍼레이팅 시스템(OS), 하드웨어 플랫폼(ARM) 등)의 완성도를 높이기 위해 반드시 필요한 작업이다.Usually, big and small errors occur during the development of software. In particular, many errors occur during the design and coding of the program. Developers call these program bugs bugs, and the task of finding hidden bugs and identifying their cause is called debugging. Debugging is essential to reduce product defects and improve the completeness of software (software platform (WISE), mobile platform (CDMA / GSM / 3G), operating system (OS), hardware platform (ARM), etc.).

개발되는 소프트웨어의 규모가 크면 클수록 그 만큼 버그의 발견도 어려워지며, 버그가 소프트웨어 내부에 깊숙이 자리 잡게 되면 제품의 신뢰도는 위협받게 된다.The larger the software developed, the harder it is to find bugs, and when the bugs are deeply embedded in the software, the reliability of the product is threatened.

따라서, 개발자들은 제품을 출시하기 전에, 혹시 있을 지 모르는 오류를 잡아내기 위하여 수 많은 제품 테스트를 수행한다. 제품 테스트의 목적은 오류(혹은 오작동)를 발견해 내는 데 있지만, 발견된 오류나 오작동을 재현하는 것도 중요하다. Therefore, developers do a lot of product testing before they release a product to catch any potential errors. The purpose of product testing is to detect errors (or malfunctions), but it is also important to reproduce the errors or malfunctions found.

특정한 환경 하에서 발현되는 오류의 경우, 오류의 원인이 대개 시스템 설계의 구조적인 문제 혹은 여러 가지 환경적 요인에 있기 때문에, 동일한 조건의 테스트를 반복하여도 어떤 때는 나타나고, 어떤 때는 나타나지 않는다. 이런 종류의 오류를 실험실에서 행하는 일반적 테스트로 재현하는 것은 쉽지 않다. In the case of an error that occurs under a specific environment, the cause of the error is usually due to structural problems in the system design or various environmental factors, so that repeated tests under the same conditions sometimes appear and sometimes do not. It is not easy to reproduce this kind of error with the usual tests performed in the laboratory.

도1은 일반적 디버깅 시스템의 구성을 나타낸 것이다.1 shows a configuration of a general debugging system.

도1에 도시된 바와 같이, 디버깅 시스템은 타겟장치(200)와 상기 타겟장치(200)와 물리적으로 접속하여 소스 레벨(Source Level)의 오류를 검출하는 디버깅 장치(100)로 구성된다.As shown in FIG. 1, the debugging system includes a target device 200 and a debugging device 100 that physically connects to the target device 200 and detects an error of a source level.

상기 타겟장치(200)가 특정 지역에만 가면 오작동을 일으키는 휴대 단말기라고 가정하자. 개발자는 실험실에서 휴대단말기의 오작동이 재현되도록 다양한 테스트를 반복 수행하지만, 결국 각종 테스트 장비들을 이끌고 오작동을 일으키는 해당 지역에 갈 수 밖에 없다. Assume that the target device 200 is a portable terminal that causes a malfunction when it goes only to a specific region. The developer repeats various tests in the laboratory to reproduce the malfunction of the handset, but inevitably leads the test equipment to the area that causes the malfunction.

그리고, 현장에서 개발자는 디버깅 장치와 타겟장치를 연결해 놓은 채 제품 테스트를 반복하고, 테스트가 진행되는 동안 개발자는 계속해서 테스트 진행 상황을 계속 모니터 하여야 한다. In the field, the developer repeats the product test with the debugging device and the target device connected, and the developer must continuously monitor the test progress while the test is in progress.

도2는 종래의 디버깅 방법을 나타낸 흐름도이다.2 is a flowchart illustrating a conventional debugging method.

도2를 참조하여 종래 디버깅 시스템의 동작을 설명하면 다음과 같다.Referring to Figure 2 describes the operation of the conventional debugging system as follows.

타겟장치 디버깅을 위해, 사용자는 먼저 상기 타겟장치(200)를 디버깅 장치(100)와 연결한다.(S10) 그러면 타겟장치(200)와의 연결을 감지한 상기 디버깅 장치(100)는 사용자가 지정한 특정 프로그램에 브레이크 포인트(Break Point)를 설정하도록 타겟장치(200)에게 지시한다. 그리고, 상기 디버깅 장치(100)의 지시에 따라 타겟장치(200)는 상기 지정된 프로그램의 임의의 코드(code)를 브레이크 포인트 코드(code)로 대체한다. (S20)For debugging the target device, the user first connects the target device 200 with the debugging device 100 (S10). Then, the debugging device 100 that detects the connection with the target device 200 is specified by the user. Instructs the target device 200 to set a break point in the program. Then, according to the instructions of the debugging device 100, the target device 200 replaces any code of the designated program with a breakpoint code. (S20)

브레이크 포인트(Break Point)는 타겟장치에서 발생하는 오류를 관찰하기 위해 타겟장치(200)가 특정 실행영역에서 수행을 멈추도록 하는 일종의 프로그램 명 령이다. 브레이크 포인트를 이식할 때 사용자는 상기 브레이크 포인트가 특정 상황 즉, 오류 발생이 의심되는 상황에서 동작하도록 소정의 조건값(조건_X)을 상기 브레이크 포인트에 부여한다.A break point is a type of program command that causes the target device 200 to stop performing in a specific execution area in order to observe an error occurring in the target device. When transplanting a breakpoint, a user gives a predetermined condition value (condition_X) to the breakpoint so that the breakpoint operates in a specific situation, that is, a situation in which an error is suspected.

이후, 브레이크 포인트가 상기 타겟장치(200)에 설정되면(S20), 즉 브레이크 포인트의 이식이 완료되면, 사용자(혹은 개발자)는 타겟장치(200)의 오작동이 재현되도록 각종 테스트를 수행한다.(S30) Thereafter, when the break point is set in the target device 200 (S20), that is, when transplantation of the break point is completed, the user (or developer) performs various tests to reproduce the malfunction of the target device 200. S30)

상기 조건(조건_X)을 만족시키는 상황이 발생하면(S40), 상기 브레이크 포인트가 작동하여 타겟장치(200)는 동작을 멈추고(S50) 상기 브레이크 포인트를 삭제한다. 그리고 상기 디버깅 장치(100)는 상기 타겟장치(200)의 소스 레벨 오류를 검출하기 위한 디버깅을 시작한다.(S60)When a situation that satisfies the condition (condition _X) occurs (S40), the break point is activated to stop the operation (S50) and delete the break point. The debugging device 100 starts debugging to detect a source level error of the target device 200 (S60).

이상, 기술된 바와 같이 종래의 디버깅 시스템은 디버깅 장치(100)와 타겟장치(200)를 연결한 상태에서 제품 테스트를 수행해야 하고, 테스트가 진행되는 동안 개발자는 계속해서 테스트 진행 상황을 계속 모니터 해야 했다. 상기 디버깅 장치(100)와 타겟장치(200)의 연결이 제거되면, 상기 타겟장치(200)에 이식된 브레이크 포인트가 삭제되어 사용자(혹은 개발자)는 더 이상 제품 테스트를 수행할 수 없게 된다.As described above, the conventional debugging system has to perform a product test with the debugging device 100 and the target device 200 connected, and the developer must continuously monitor the test progress while the test is in progress. did. When the connection between the debugging device 100 and the target device 200 is removed, the break point implanted in the target device 200 is deleted so that the user (or developer) can no longer perform a product test.

특정한 환경 하에서만 발현되는 버그를 잡기 위해, 종래에는 실험실에 특정한 통신환경을 인위적으로 만들거나, 각종 장비들을 이끌고 그러한 통신환경을 제공하는 지역으로 이동하여 제품 테스트를 수행해야 하는 문제가 있었으며, 테스트 를 진행하는 동안 개발자는 테스트 진행 상황을 계속 모니터해야 하는 불편함이 있었다.In order to catch bugs that appear only in certain environments, there has been a problem of artificially creating a specific communication environment in a laboratory, or moving a device to an area providing such a communication environment and performing a product test. During the process, the developer was inconvenient to constantly monitor the test progress.

본 발명의 주요 관점은 발명자가 위에서 언급된 종래 기술의 문제점들을 인식하였다는데 있으며, 발명자는 아래와 같이, 이런 문제점의 해결책을 제시하였다.The main aspect of the present invention is that the inventor has recognized the problems of the prior art mentioned above, and the inventor has proposed a solution to this problem as follows.

본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로 그 목적은, The present invention is to solve the problems described above, the object is,

타겟장치가 디버깅 수단과의 연결을 해제한 상태에서도 브레이크 포인트를 유지하도록 하는 디버깅 시스템 및 방법을 제공하는데 있다. The present invention provides a debugging system and method for maintaining a breakpoint even when the target device is disconnected from the debugging means.

상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 디버깅 시스템은 타겟장치의 오작동을 디버깅하는 시스템에 관한 것으로, In order to achieve the above object, the debugging system according to the present invention relates to a system for debugging a malfunction of the target device,

상기 타겟장치와 연결된 상태에서 영구 브레이크 포인트를 상기 타겟장치에 설정하는 디버깅 장치와, 상기 디버깅 장치와의 연결이 해제된 상태에서 상기 브레이크 포인트가 실행되면, 동작을 정지하는 타겟장치로 구성된다. 이때, 상기 디버깅 장치는 상기 타겟장치의 디버깅을 상기 정지된 상태에서부터 시작하는 것을 특징으로 한다. And a debugging device for setting a permanent break point to the target device in a state of being connected to the target device, and a target device for stopping operation when the break point is executed while the connection with the debugging device is released. At this time, the debugging device is characterized in that starting the debugging of the target device from the stopped state.

바람직하게, 상기 디버깅 장치는 상기 타겟장치의 동작이 정지되면 타겟장치와의 물리적 연결을 설정하고, 상기 브레이크 포인트의 코드를 삭제 후, 그 자리에 원래의 코드를 복원하는 것을 특징으로 한다. Preferably, the debugging device is characterized in that when the operation of the target device is stopped, establishes a physical connection with the target device, deletes the code of the breakpoint, and restores the original code in place.

바람직하게, 상기 타겟장치는 휴대 단말기인 것을 특징으로 한다.Preferably, the target device is a portable terminal.

바람직하게, 상기 타겟장치는 임베디드 시스템(Embedded System)인 것을 특 징으로 한다. 임베디드 시스템이란 적어도 하나 이상의 프로세서들이 들어가서 동작하는 제어 시스템을 일컫는다. 마이크로프로세서의 크기나 성능에 관계없이 마이크로프로세서가 삽입된(embeded) 시스템을 총칭하여 임베디드 시스템이라 한다.Preferably, the target device is characterized in that the embedded system (Embedded System). An embedded system refers to a control system in which at least one or more processors enter and operate. Regardless of the size or performance of a microprocessor, a system in which a microprocessor is embedded is collectively referred to as an embedded system.

상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 오류검출 방법은 디버깅 장치와 타겟장치를 포함하는 디버깅시스템에 관한 것으로, In order to achieve the above object, the error detection method according to the present invention relates to a debugging system including a debugging device and a target device,

상기 디버깅 장치를 타겟장치에 연결하여 상기 타겟장치에 영구 브레이크 포인트를 설정하는 과정과, 상기 연결을 제거하고, 상기 타겟장치를 테스트하는 과정과, 상기 브레이크 포인트가 실행되면, 상기 타겟장치의 동작을 정지시키는 과정과, 상기 디버깅 장치와 타겟장치를 연결하고, 상기 동작 정지된 부분부터 상기 타겟장치를 디버깅하는 과정으로 이루어진다.Connecting the debugging device to a target device to set a permanent breakpoint on the target device, removing the connection, testing the target device, and when the breakpoint is executed, operation of the target device. And stopping the connection, connecting the debugging device and the target device, and debugging the target device from the stopped portion.

본 발명은 타겟장치가 디버깅 장치와의 연결을 해제한 상태에서도 상기 브레이크 포인트를 유효하게 유지하도록 하는데 착안점을 두었으며, 이동성의 한계를 갖던 종래 디버깅 시스템의 문제점을 극복할 수 있게 되었다. The present invention focuses on keeping the break point valid even when the target device is disconnected from the debugging device, and overcomes the problems of the conventional debugging system, which has the limitation of mobility.

사용자(개발자)는 본 발명에 따른 타겟장치를 휴대하고 다니면서, 보다 용이하게 타겟장치의 오작동을 재현할 수 있게 되었다. The user (developer) can carry the target device according to the present invention and more easily reproduce the malfunction of the target device.

이하, 본 발명의 바람직한 실시 예를 도면을 참조하여 설명하면 다음과 같다.Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.

도3은 본 발명의 일실시예에 따른 디버깅 시스템의 블록 구성도이다. Figure 3 is a block diagram of a debugging system according to an embodiment of the present invention.

종래 디버깅 시스템에서 처럼, 본 발명에 따른 디버깅 시스템도 크게 디버깅 장치(300)와 타겟장치(400)로 구성된다.As in the conventional debugging system, the debugging system according to the present invention is largely composed of the debugging device 300 and the target device (400).

상기 디버깅 장치(300)는 물리적으로 연결된 상기 타겟장치(400)에 소정의 브레이크 포인트를 설정하고 상기 연결을 해제하는 제어부(혹은 브레이크 포인트 설정부, 310)와, 상기 브레이크 포인트에 의해 타겟장치의 수행이 정지되고 사용자의 지시에 따라 상기 타겟장치(400)와의 연결이 설정되면, 상기 수행을 멈춘 타겟장치의 실행영역부터 디버깅을 수행하는 오류 제어부(320, 이하, 디버깅 툴이라 한다)를 포함하여 구성된다. The debugging device 300 includes a control unit (or break point setting unit 310) for setting a predetermined break point in the target device 400 physically connected and releasing the connection, and performing the target device by the break point. Is stopped and the connection with the target device 400 is established according to a user's instruction, and includes an error control unit 320 (hereinafter, referred to as a debugging tool) for debugging from the execution region of the target device where the execution is stopped. do.

상기 타겟장치(400)는 상기 디버깅 장치(300)로부터 브레이크 포인트 설정 명령을 수신하면, 사용자가 정한 프로그램의 특정 코드를 상기 브레이크 포인트의 코드로 대체하는 제어부(410)와, 상기 디버깅 장치(300)와의 연결이 해제된 후에도 상기 브레이크 포인트를 유지하고, 상기 브레이크 포인트 코드가 실행되면 타겟장치의 동작을 정지시키는 에이젼트(420)로 구성된다.When the target device 400 receives a breakpoint setting command from the debugging device 300, the control unit 410 replaces a specific code of a program determined by a user with the code of the breakpoint, and the debugging device 300. The breakpoint is maintained even after the connection with the controller is released, and the agent 420 stops the operation of the target device when the breakpoint code is executed.

도4는 본 발명의 일실시 예에 따른 디버깅 방법을 나타낸 것이다.4 illustrates a debugging method according to an embodiment of the present invention.

도4를 참조하여 본 발명에 따른 디버깅 시스템의 동작을 상세히 설명하면 다음과 같다.The operation of the debugging system according to the present invention will be described in detail with reference to FIG. 4 as follows.

사용자는 타겟장치 디버깅을 위해, 먼저 상기 타겟장치(400)를 디버깅 장치(300)와 연결한다.(S110) 그러면 타겟장치(400)와의 연결을 감지한 상기 디버깅 장치의 제어부(310)는 사용자의 지시에 따라 브레이크 포인트의 옵션(permanent 혹은 normal)을 결정한다. In order to debug the target device, the user first connects the target device 400 to the debugging device 300 (S110). Then, the controller 310 of the debugging device that detects the connection with the target device 400 is connected to the user. Follow the prompts to determine the breakpoint options (permanent or normal).

실험실에서 수행하는 일반적인 디버깅 작업의 경우, 브레이크 포인트의 옵션은 노말(normal)로 설정되며, 상기 디버깅 장치(300)가 타겟장치(400)에 대한 제어 권을 가지고 디버깅을 수행한다.In the case of general debugging work performed in a laboratory, an option of a break point is set to normal, and the debugging device 300 performs debugging with control of the target device 400.

옵션이 노말(normal)로 설정된 브레이크 포인트는 상기 디버깅 장치(300)이 제어권을 가지고 있는 동안 즉, 디버깅 장치(300)와 타겟장치(400)가 연결되어 있는 동안만 유효하게 동작하고, 두 장치(300, 400)의 연결이 끊어진 상태에서는 동작하지 않는다. 두 장치(300, 400)의 연결이 끊어지면, 브레이크 포인트 코드는 상기 타겟장치(200)에서 삭제된다.The breakpoint in which the option is set to normal operates only while the debugging device 300 has control, that is, while the debugging device 300 and the target device 400 are connected. 300 and 400 do not operate in the disconnected state. When the two devices 300 and 400 are disconnected, the break point code is deleted from the target device 200.

다음은 브레이크 포인트의 옵션이 퍼머넌트(permanent)로 설정된 경우에 대한 설명이다.The following is a description of the case where the breakpoint option is set to permanent.

일단, 브레이크 포인트의 옵션(= permanent)이 결정되면(S120), 상기 제어부(310)는 사용자가 지정한 특정 프로그램에 상기 브레이크 포인트를 설정하도록 타겟장치의 에이젼트(420)에게 지시한다. 그리고, 상기 제어부(310)의 지시를 받은 타겟장치의 에이젼트(420)는 상기 지정된 프로그램의 임의의 코드(code)를 브레이크 포인트 코드(code)로 대체한다.(S130)Once the breakpoint option (= permanent) is determined (S120), the controller 310 instructs the agent 420 of the target device to set the breakpoint in a specific program designated by a user. In addition, the agent 420 of the target device instructed by the controller 310 replaces an arbitrary code of the designated program with a breakpoint code (S130).

위에서 이미 설명한 바와 같이, 브레이크 포인트는 타겟장치에서 발생하는 오류를 관찰하기 위해 타겟장치(400)가 특정 실행영역에서 수행을 멈추도록 하는 일종의 프로그램 명령이다. As already explained above, a breakpoint is a type of program command that causes the target device 400 to stop performing in a particular execution region in order to observe errors occurring in the target device.

브레이크 포인트 코드(예: 'DEAD' --> 비기계어)는 오류발생이 의심되는 프로그램의 기계어 코드에 이식되며, 브레이크 포인트를 이식할 때 사용자는 상기 브레이크 포인트가 특정 상황 즉, 오류 발생이 의심되는 상황에서 동작하도록 소정의 조건값(조건_X)을 상기 브레이크 포인트에 부여한다.Breakpoint codes (e.g. 'DEAD'-> non-mechanical words) are ported to the machine code of the program in which the error is suspected. The breakpoint is given a predetermined condition value (condition_X) to operate in a situation.

이후, 브레이크 포인트의 이식이 완료되면 즉, 브레이크 포인트가 타겟장치(400)에 설정되면(S130), 사용자는 상기 디버깅 장치(300)와 타겟장치 (400)와의 연결을 끊는다.(S140) Thereafter, when the transplantation of the break point is completed, that is, when the break point is set in the target device 400 (S130), the user disconnects the debugging device 300 from the target device 400 (S140).

이때, 만일 브레이크 포인트의 옵션이 노말(normal)로 설정되었다면, 이미 설명한 바와 같이 상기 에이젼트(420)는 상기 프로그램에서 브레이크 포인트 코드를 삭제하고, 그 자리에 원래의 코드를 복원시킨다. 그러나 브레이크 포인트의 옵션을 퍼머넌트(perm anent)로 설정한 경우, 상기 에이젼트(420)는 상기 디버깅 장치(300)와의 연결이 해제되어도 상기 브레이크 포인트 코드를 삭제하지 않고 그 기능을 그대로 유지시킨다At this time, if the option of the break point is set to normal, the agent 420 deletes the break point code from the program and restores the original code in place as described above. However, when the break point option is set as a permanent, the agent 420 maintains its function without deleting the break point code even when the connection with the debugging device 300 is released.

따라서, 사용자(개발자)는 상기 타겟장치(400)와 디버깅 장치(300)의 연결을 분리한 이후에도 장소를 옮겨가며 타겟장치 테스트를 계속 수행할 수 있으며, 고속으로 주행하는 운송수단에 탑승하거나 통신환경이 열악한 지역으로 이동하여 타겟장치 테스트를 수행할 수도 있다.Therefore, the user (developer) can continue to perform the target device test by moving the place even after disconnecting the connection between the target device 400 and the debugging device 300, boarding a vehicle driving at high speed or communication environment You can also go to this poor area and perform target device tests.

일 예로서, 타겟장치(400)가 원인을 알 수 없는 오작동을 일으키는 지역이 있다고 가정하자. 이 경우, 오작동의 원인을 알기 위해서는 타겟장치(400)의 오작동 상황을 재현해야 하므로, 타겟장치(400)의 오작동을 재현하기 위해 사용자(혹은 개발자)는 본 발명에 따른 브레이크 포인트를 타겟장치에 이식한 후, 해당 지역으로 이동하여 각종 테스트를 수행한다.(S150) As an example, assume that there is an area in which the target device 400 causes a malfunction of unknown cause. In this case, in order to know the cause of the malfunction, the malfunction of the target device 400 must be reproduced, so that the user (or developer) transplants the breakpoint according to the present invention to the target device to reproduce the malfunction of the target device 400. After that, go to the area to perform various tests. (S150)

그리고, 타겟장치를 테스트하는 과정(S150)에서, 상기 조건(조건_X)을 만족시키는 상황이 발생하면 상기 브레이크 포인트가 작동하여 타겟장치(400)는 동작을 멈춘다.(S160 ~ S170) 그리고 상기 디버깅 장치(300)와의 연결을 기다린다.In the process of testing the target device (S150), when a situation that satisfies the condition (condition _X) occurs, the break point is activated to stop the operation of the target device 400 (S160 to S170). Wait for a connection with the debugging device 300.

도5는 브레이크 포인트 코드가 이식된 프로그램의 소스 코드와 기계어 코드를 나타낸 도면이고, 도6은 소스레벨에서, 도4의 일부 과정들(S150 ~ S170)을 나타낸 흐름도이다.FIG. 5 is a diagram illustrating source code and machine code of a program in which a breakpoint code is implanted. FIG. 6 is a flowchart illustrating some processes S150 to S170 of FIG. 4 at a source level.

도5와 6을 참조하여, 상기 과정들(S150 ~ S170)을 소프트웨어적 관점에서 설명하면 다음과 같다. 5 and 6, the processes S150 to S170 will be described in terms of software.

타겟장치 테스트를 위해 사용자가 타겟장치의 각종 기능들을 실행시키면, 타겟장치의 제어부(410)는 해당 프로그램들의 기계어 코드들을 차례로 실행시킨다. 그리고 프로그램 실행 중 상기 조건_X를 만족시키는 상황이 발생하게 되면, 비기계어 코드인 브레이크 포인트 코드(예: 'DEAD')가 실행되고, 상기 제어부(410)는 'DEAD'를 언디파인드(Undefined) 명령어로 인식하게 된다. When the user executes various functions of the target device for the target device test, the controller 410 of the target device sequentially executes the machine code of the corresponding programs. When a condition that satisfies the condition _X occurs during program execution, a breakpoint code (eg, 'DEAD'), which is a non-mechanical code, is executed, and the controller 410 undefined 'DEAD'. It is recognized as a command.

상기 제어부(410)가 특정 코드를 언디파인드(Undefined) 명령어로 인식하는 경우, 제어부(410)는 프로그램 카운터를 익셉션 벡터(Exception Vector)의 언디파인드 핸들러(Undefined Handler)로 점프시킨다.When the controller 410 recognizes a specific code as an undefined instruction, the controller 410 jumps a program counter to an undefined handler of an exception vector.

그러면 상기 언디파인드 핸들러를 모니터하고 있던 상기 에이젼트(420)는 상기 특정 코드('DEAD')가 브레이크 포인트 코드임을 확인하고, 타겟장치(400)의 동작을 정지시킨다. 그리고, 상기 디버깅 장치(300)와의 연결을 기다린다. Then, the agent 420 monitoring the undefined handler determines that the specific code 'DEAD' is a break point code, and stops the operation of the target device 400. Then, it waits for the connection with the debugging device 300.

이후, 상기 타겟장치(400)와 디버깅 장치(300)와의 연결이 설정되면(S180), 이를 감지한 상기 에이젼트는(420)는 브레이크 포인트 코드('DEAD')를 타겟장치 (400)에서 삭제하고 그 자리에 원래의 코드를 복원시켜 이 시점부터 다시 코드를 실행 시킬 수 있게 한다. 그리고 타겟장치(400)에 대한 제어권을 획득한 상기 디버깅 장치의 디버깅 툴(320)은 상기 동작이 정지된 타겟장치의 실행영역부터 디버깅하기 시작한다.(S190) 상기 브레이크 포인트 코드('DEAD')를 원래의 코드로 복원하는 과정은 브레이크 포인트가 작동(S160)한 이후와 디버깅을 수행(S190) 하기 이전이면, 언제든 수행 가능하다. Thereafter, when the connection between the target device 400 and the debugging device 300 is established (S180), the agent 420 that detects this deletes the breakpoint code 'DEAD' from the target device 400. Restore the original code in place so that you can run the code again from this point. The debugging tool 320 of the debugging device, which has obtained the control right for the target device 400, starts debugging from the execution region of the target device in which the operation is stopped. (S190) The breakpoint code 'DEAD' The process of restoring the original code may be performed at any time after the breakpoint is activated (S160) and before the debugging is performed (S190).

도7은 본 발명의 일 실시예에 따른 타겟장치(400, 예: 휴대단말기)의 블록 구성도이다.7 is a block diagram of a target device 400 (for example, a portable terminal) according to an embodiment of the present invention.

본 발명에 따른 타겟장치(400) 즉, 휴대단말기(400)는 마이크로 프로세서 혹은 디지털 신호 프로세서와 같은 프로세스 유닛(410), RF모듈(435), 전원 관리 모듈(405), 안테나(440), 배터리(455), 디스플레이(415), 시리얼 포트(417, 혹은 Universal Serial Bus(USB) 포트), 입력부(460, 예: 키패드), 스토리지 유닛(430)(예: 플레쉬 메모리, ROM, SRAM 등), SIM 카드(425)(옵션), 스피커(445) 및 마이크(450)로 구성된다. The target device 400, that is, the portable terminal 400 according to the present invention includes a process unit 410 such as a microprocessor or a digital signal processor, an RF module 435, a power management module 405, an antenna 440, and a battery. 455, display 415, serial port (417, or Universal Serial Bus (USB) port), input 460 (e.g. keypad), storage unit 430 (e.g. flash memory, ROM, SRAM, etc.), It consists of a SIM card 425 (optional), a speaker 445 and a microphone 450.

사용자는 키패드(460)의 버튼을 누르거나 마이크(450)와 같은 음성구동 수단을 이용하여, 전화번호 같은 지시 정보(혹은 각종 기능 실행 명령)를 입력한다. 상기 프로세스 유닛(410)은 전화번호와 같은 지시 정보가 수신되면, 해당 수신측으로 호를 설정하는 등의 적당한 기능을 수행한다. 또한, 상기 프로세스 유닛(410)은 SIM (Subscriber Identity Module) 카드(425) 혹은 스토리지 유닛(430)이 저장하고 있는 운용 데이터를 검색하여 상기 기능을 수행한다. 또한, 상기 프로세서 유닛(410)은 사용자의 참조나 편의를 위하여 상기 지시 및 운용 데이터 정보를 디스 플레이(415)에 표시한다. The user inputs instruction information (or various function execution commands) such as a phone number by pressing a button of the keypad 460 or using a voice driving means such as the microphone 450. When the instruction unit 410 receives the instruction information such as a telephone number, the process unit 410 performs an appropriate function such as setting up a call to the corresponding receiver. In addition, the process unit 410 retrieves the operation data stored in the subscriber identity module (SIM) card 425 or the storage unit 430 to perform the function. In addition, the processor unit 410 displays the instruction and operation data information on the display 415 for the user's reference or convenience.

상기 프로세스 유닛(410)은 지시 정보를 상기 RF모듈(435)로 보내 음성 통신 데이터를 포함한 무선 신호나, 상기 사용자에 의해 입력된 지시정보(예: 브레이크 포인트의 옵션 설정, 브레이크 포인트를 설정할 프로그램 지정 등)를 포함하는 가입자(subscribe) 메시지를 생성한다. 그리고 상기 RF모듈(435)을 통해 목적지로 전송하거나 상기 시리얼 포트(417, 혹은 USB포트)를 통해 디버깅 장치(300)로 전송한다. 상기 시리얼 포트(417)는 상기 디버깅 장치(300)로(로부터) 디버깅에 따른 각종 제어신호를 송신(혹은 수신)한다. 상기 RF모듈(435)는 무선 신호들을 송수신하기 위한 수신기와 송신기로 구성된다. 상기 안테나(440)는 무선 신호들의 송수신을 용이하게 한다. 기지국으로부터 무선 신호가 수신되면, 상기 RF모듈(435)는 프로세스 유닛(410)의 처리를 위해 상기 신호들을 기저대역 주파수로 전송 변환한다. 상기 처리된 신호들은, 예를 들면, 상기 무선 신호들이 착신 전화일 경우, 상기 스피커(445)를 통해 출력된 청취(audible) 및 독출 가능한(readable) 정보로도 변형될 수 있다.The process unit 410 sends the instruction information to the RF module 435 to designate a radio signal including voice communication data or instruction information input by the user (eg, option setting of a break point, a program to set a break point). Generate a subscribe message including the " The RF module 435 transmits the data to a destination or the debugging device 300 through the serial port 417 or the USB port. The serial port 417 transmits (or receives) various control signals according to debugging to and from the debugging device 300. The RF module 435 is composed of a receiver and a transmitter for transmitting and receiving wireless signals. The antenna 440 facilitates transmission and reception of wireless signals. When a radio signal is received from a base station, the RF module 435 transmits and converts the signals to baseband frequencies for processing by the process unit 410. The processed signals may also be transformed into audible and readable information output through the speaker 445, for example, when the wireless signals are incoming calls.

상기 프로세스 유닛(410)은 단말의 상태정보를 목적지로 전달하거나 다른 사용자 혹은 서버로부터 전달되는 메시지들의 메시지 히스토리 데이터를 상기 스토리지 유닛(430)에 저장하기에 적합하다. 그리고 사용자가 입력하는 메시지 히스토리 데이터에 대한 조건적 요구(conditional request)를 수신하기에 적합하다. 그리고 상기 스토리지 유닛(430)에서, 상기 조건적 요구에 대응하는 메시지 히스토리 데이터를 리드(read)하도록 상기 조건적 요구를 처리하기에 적합하다. 그리고 상기 메 시지 히스토리 데이터를 디스플레이(415)에 출력하기에 적합하다. The process unit 410 is suitable for transferring the state information of a terminal to a destination or storing message history data of messages transmitted from another user or a server in the storage unit 430. It is also suitable for receiving a conditional request for message history data input by a user. And in the storage unit 430, it is suitable to process the conditional request to read the message history data corresponding to the conditional request. And it is suitable for outputting the message history data to the display 415.

상기 스토리지 유닛(430)은 프로그램 코드나 상기 에이젼트(420)와 같은 소프트웨어 제어 수단을 저장하기에 적합하다. 그리고 상기 프로세스 유닛(410)은 상기 스토리지 유닛(430)에 저장된 소프트 제어 수단이나 제어 프로그램을 실행시키기에 적합하다.The storage unit 430 is suitable for storing program code or software control means such as the agent 420. The process unit 410 is suitable for executing soft control means or a control program stored in the storage unit 430.

이상, 기술된 바와 같이, 본 발명은 타겟장치와 디버깅 장치의 연결이 제거되어도 브레이크 포인트를 타겟장치에 유효하게 유지시킴으로써, 상기 두 장치가 연결되지 않은 상태에서는 디버깅을 수행할 수 없었던 종래 기술의 문제점을 해결하였으며, 타겟장치만으로 오류 재현 테스트가 가능하므로 개발자는 보다 많은 장소로 이동하여, 많은 상황에 대처한 테스트를 수행할 수 있게 되었다. As described above, according to the present invention, the breakpoint is effectively maintained in the target device even when the connection between the target device and the debugging device is removed. In addition, since the error reproduction test is possible only with the target device, the developer can move to more places and perform a test for many situations.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiments illustrated in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

Claims (18)

타겟장치의 오작동을 디버깅하는 시스템에 있어서,In a system for debugging a malfunction of a target device, 상기 타겟장치와 연결된 상태에서 영구 브레이크 포인트를 상기 타겟장치에 설정하는 디버깅 장치와;A debugging device configured to set a permanent break point in the target device while connected to the target device; 상기 디버깅 장치와의 연결이 해제된 상태에서 상기 브레이크 포인트가 실행되면, 동작을 정지하는 타겟장치로 구성되며, When the break point is executed in a state in which the connection with the debugging device is released, the target device is configured to stop the operation, 상기 디버깅 장치는 상기 타겟장치의 디버깅을 상기 정지된 상태에서부터 시작하는 것을 특징으로 하는 디버깅 시스템.And the debugging device starts debugging of the target device from the stopped state. 제1항에 있어서, 상기 디버깅 장치는The method of claim 1, wherein the debugging device 상기 타겟장치의 동작이 정지되면, 타겟장치와의 물리적 연결을 설정하고,When the operation of the target device is stopped, establish a physical connection with the target device, 상기 브레이크 포인트의 코드를 삭제 후, 그 자리에 원래의 코드를 복원하는 것을 특징으로 하는 디버깅 시스템.After deleting the code of the break point, the debugging system, characterized in that to restore the original code in place. 제1항에 있어서, 상기 브레이크 포인트의 설정은The method of claim 1, wherein the setting of the break point is 사용자가 지정한 특정 프로그램의 임의 코드를 상기 브레이크 포인트의 코드와 교체하는 것임을 특징으로 하는 디버깅 시스템.Debugging system, characterized in that for replacing the arbitrary code of the specific program specified by the user with the code of the break point. 제1항에 있어서, 상기 브레이크 포인트는The method of claim 1, wherein the break point is 소정 조건을 만족할 때 실행되는 것을 특징으로 하는 디버깅 시스템.Debugging system, characterized in that executed when satisfying a predetermined condition. 제1항에 있어서, 상기 타겟장치는The method of claim 1, wherein the target device 휴대 단말기인 것을 특징으로 하는 디버깅 시스템.Debugging system, characterized in that the mobile terminal. 제1항에 있어서, 상기 타겟장치는 The method of claim 1, wherein the target device 임베디드 시스템(Embedded System)인 것을 특징으로 하는 디버깅 시스템.Debugging system, characterized in that the embedded system (Embedded System). 타겟장치와 연결된 상태에서 상기 타겟장치에 영구 브레이크 포인트를 설정하는 브레이크 포인트 설정부;A break point setting unit configured to set a permanent break point in the target device while connected to the target device; 상기 타겟장치와 연결이 해제된 후에 상기 브레이크 포인트에 의해 타겟장치의 수행이 정지되면, 상기 타겟장치의 디버깅을 상기 정지된 상태에서부터 시작하는 오류 제어부를 포함하는 것을 특징으로 하는 디버깅 장치.And an error controller to start debugging of the target device from the stopped state when the execution of the target device is stopped by the break point after the connection with the target device is released. 제7항에 있어서, 상기 브레이크 포인트 설정부는The method of claim 7, wherein the break point setting unit 상기 정지된 타겟장치와의 연결이 설정되면, 상기 브레이크 포인트의 코드를 삭제하고, 그 자리에 원래의 코드를 복원하는 것을 특징으로 하는 디버깅 장치.And when the connection with the stationary target device is established, deleting the code of the break point and restoring the original code in place. 제7항에 있어서, 상기 타겟장치는The method of claim 7, wherein the target device 휴대 단말기인 것을 특징으로 하는 디버깅 장치.Debugging device, characterized in that the mobile terminal. 제7항에 있어서, 상기 타겟장치는 The method of claim 7, wherein the target device 임베디드 시스템(Embedded System)인 것을 특징으로 하는 디버깅 장치.Debugging device, characterized in that the embedded system (Embedded System). 영구 브레이크 포인트를 설정하고 제어하는 프로그램을 저장하는 메모리부와;A memory unit for storing a program for setting and controlling a permanent break point; 상기 브레이크 포인트가 실행되면 타겟장치의 실행을 정지시키고, 디버깅 장치의 디버깅 수행이 상기 정지된 실행영역에서부터 시작되도록 제어하는 제어부를 포함하며,A control unit for stopping execution of a target device when the break point is executed, and controlling a debugging operation of a debugging device to start from the stopped execution region; 상기 영구 브레이크 포인트는 디버깅 장치와의 연결이 해제된 상태에서도 유지되는 것을 특징으로 하는 타겟장치.The permanent break point is a target device, characterized in that maintained even in a state in which the connection with the debugging device is released. 제11항에 있어서, 상기 제어부는 The method of claim 11, wherein the control unit 상기 실행정지가 발생하면, 디버깅을 수행을 위해 상기 디버깅 장치와의 연결을 설정하는 것을 특징으로 하는 타겟장치.And when the execution stops, establishing a connection with the debugging device to perform debugging. 제12항에 있어서, 상기 제어부는The method of claim 12, wherein the control unit 상기 디버깅이 수행되기 전에, 상기 브레이크 포인트의 코드를 삭제하고 그 자리에 원래의 코드를 복원하는 것을 특징으로 하는 타겟장치.And before the debugging is performed, deleting the code of the breakpoint and restoring the original code in place. 디버깅 장치와 타겟장치를 포함하는 디버깅시스템에 있어서, In a debugging system including a debugging device and a target device, 상기 디버깅 장치를 타겟장치에 연결하여 상기 타겟장치에 영구 브레이크 포인트를 설정하는 과정과;Connecting the debugging device to a target device and setting a permanent break point in the target device; 상기 연결을 제거하고, 상기 타겟장치를 테스트하는 과정과;Removing the connection and testing the target device; 상기 브레이크 포인트가 실행되면, 상기 타겟장치의 동작을 정지시키는 과정과;Stopping the operation of the target device when the break point is executed; 상기 디버깅 장치와 타겟장치를 연결하고, 상기 동작 정지된 부분부터 상기 타겟장치를 디버깅하는 과정으로 이루어진 것을 특징으로 하는 디버깅 시스템의 오류검출 방법.Connecting the debugging device and the target device, and debugging the target device from the stopped portion. 제14항에 있어서, 상기 디버깅 장치는The method of claim 14, wherein the debugging device 상기 디버깅이 수행되기 전에, 상기 브레이크 포인트의 코드를 상기 타겟장치에서 삭제하고, 그 자리에 원래의 코드를 복원하는 것을 특징으로 하는 디버깅 시스템의 오류검출 방법.Before the debugging is performed, the error detection method of the debugging system, characterized in that to delete the code of the break point in the target device, and to restore the original code in place. 제14항에 있어서, 상기 브레이크 포인트 설정 과정은 The method of claim 14, wherein the setting of the breakpoint is performed. 사용자가 지정한 특정 프로그램의 임의 코드를 상기 영구 브레이크 포인트의 코드로 대체하는 것임을 특징으로 하는 디버깅 시스템의 오류검출 방법.And replacing the arbitrary code of a specific program designated by a user with the code of the permanent break point. 제14항에 있어서, 상기 타겟장치는The method of claim 14, wherein the target device 휴대 단말기인 것을 특징으로 하는 디버깅 시스템의 오류검출 방법.Error detection method of the debugging system, characterized in that the portable terminal. 제14항에 있어서, 상기 타겟장치는 The method of claim 14, wherein the target device 임베디드 시스템(Embedded System)인 것을 특징으로 하는 디버깅 시스템의 오류검출 방법.Error detection method of the debugging system, characterized in that the embedded system (Embedded System).
KR1020060058333A 2006-06-27 2006-06-27 System and method for debugging Expired - Fee Related KR101137569B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060058333A KR101137569B1 (en) 2006-06-27 2006-06-27 System and method for debugging
US11/768,012 US20080126865A1 (en) 2006-06-27 2007-06-25 Debugging system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060058333A KR101137569B1 (en) 2006-06-27 2006-06-27 System and method for debugging

Publications (2)

Publication Number Publication Date
KR20080000476A true KR20080000476A (en) 2008-01-02
KR101137569B1 KR101137569B1 (en) 2012-04-19

Family

ID=39212788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060058333A Expired - Fee Related KR101137569B1 (en) 2006-06-27 2006-06-27 System and method for debugging

Country Status (2)

Country Link
US (1) US20080126865A1 (en)
KR (1) KR101137569B1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090082008A1 (en) * 2007-09-21 2009-03-26 Per Thorell Mobile Phone Code Debugging Method and Apparatus
US7925398B2 (en) * 2007-10-31 2011-04-12 Spx Corporation Error message details for debug available to end user
US8752008B2 (en) * 2009-09-02 2014-06-10 Advanced Micro Devices, Inc. Lightweight service based dynamic binary rewriter framework
US9021436B2 (en) * 2010-12-08 2015-04-28 Microsoft Technology Licensing Llc Automatic reconnection of debugger to a reactivated application
US9274911B2 (en) 2013-02-21 2016-03-01 Advantest Corporation Using shared pins in a concurrent test execution environment
US9785542B2 (en) 2013-04-16 2017-10-10 Advantest Corporation Implementing edit and update functionality within a development environment used to compile test plans for automated semiconductor device testing
US9785526B2 (en) 2013-04-30 2017-10-10 Advantest Corporation Automated generation of a test class pre-header from an interactive graphical user interface
CN103995760A (en) * 2014-05-23 2014-08-20 江门市未来之星网络科技有限公司 Computer fault detection device and detection and maintenance method
US9785538B2 (en) * 2015-09-01 2017-10-10 Nxp Usa, Inc. Arbitrary instruction execution from context memory
US10545745B2 (en) * 2018-04-18 2020-01-28 International Business Machines Corporation Application binary rewriting to reduce binary attack surface area
US11144417B2 (en) * 2018-12-31 2021-10-12 Texas Instruments Incorporated Debug for multi-threaded processing

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5050168A (en) 1989-12-29 1991-09-17 Paterson Timothy L Test coverage analyzer
US6345383B1 (en) 1994-09-14 2002-02-05 Kabushiki Kaisha Toshiba Debugging support device and debugging support method
US5892941A (en) * 1997-04-29 1999-04-06 Microsoft Corporation Multiple user software debugging system
JP2000076093A (en) 1998-08-27 2000-03-14 Toshiba Microelectronics Corp Microcomputer emulator
US6480818B1 (en) 1998-11-13 2002-11-12 Cray Inc. Debugging techniques in a multithreaded environment
US7559055B2 (en) * 2005-06-15 2009-07-07 Research In Motion Limited Controlling collection of debugging data
JP2008052533A (en) * 2006-08-25 2008-03-06 Matsushita Electric Ind Co Ltd Debug device
US20080313442A1 (en) * 2007-06-13 2008-12-18 Jian Wei Debugging techniques for a programmable integrated circuit
US20090082008A1 (en) * 2007-09-21 2009-03-26 Per Thorell Mobile Phone Code Debugging Method and Apparatus
US20090228873A1 (en) * 2008-03-04 2009-09-10 Drukman Maxwell O Display breakpointing based on user interface events

Also Published As

Publication number Publication date
KR101137569B1 (en) 2012-04-19
US20080126865A1 (en) 2008-05-29

Similar Documents

Publication Publication Date Title
KR101137569B1 (en) System and method for debugging
US9071989B2 (en) System and methods that enable automated testing of mobile devices at a remote monitor site
US8254908B2 (en) Server and method for remotely testing electronic devices
EP1937010B1 (en) Test apparatus
EP3116165B1 (en) Method and device for testing a terminal
US9021436B2 (en) Automatic reconnection of debugger to a reactivated application
US20100227607A1 (en) Systems and methods for automated mobile device testing with emulated field mobility conditions in real-time
CN110062366A (en) Bluetooth pairing abnormality eliminating method, equipment, storage medium and device
CN105487966A (en) Program testing method, device and system
CN114727275B (en) Method and related device for processing active command
KR20090068457A (en) Service connection method and device in mobile terminal
CN108093451B (en) Random access control method, device, storage medium and mobile terminal
KR20110117806A (en) Apparatus and method for analyzing an error occurrence in a portable terminal
CN111897726B (en) Abnormality positioning method, abnormality positioning device, storage medium and mobile terminal
KR20110108504A (en) Apparatus and method for performing a system check on a portable terminal
KR20110049274A (en) Apparatus and method for performing a virus scan on a portable terminal
CN111132097B (en) Wireless module driving method and device, wireless module, terminal and storage medium
KR101773908B1 (en) System for Verifying Application, Terminal and Screen Capturing Method Thereof
CN113419751B (en) System upgrade method and device for terminal equipment
CN115484343A (en) Method for preventing data transmission loss of android mobile phone and Bluetooth device based on WeChat applet
KR100574662B1 (en) Mobile communication terminal with source program tracking and its control method
CN115943659A (en) Method, apparatus, communication device and storage medium for measuring relaxation
KR20050067876A (en) Wireless communication terminal and its method for checking key input using interrupt handler
JP2005151398A (en) Inspecting system of portable communication terminal
KR20210022990A (en) method for collecting communication information for mobile telecommunication terminal

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

A201 Request for examination
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

FPAY Annual fee payment

Payment date: 20160324

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20170411

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20170411

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301