KR101550652B1 - 프로그램 개발 환경 제공 장치 및 방법 - Google Patents

프로그램 개발 환경 제공 장치 및 방법 Download PDF

Info

Publication number
KR101550652B1
KR101550652B1 KR1020130060377A KR20130060377A KR101550652B1 KR 101550652 B1 KR101550652 B1 KR 101550652B1 KR 1020130060377 A KR1020130060377 A KR 1020130060377A KR 20130060377 A KR20130060377 A KR 20130060377A KR 101550652 B1 KR101550652 B1 KR 101550652B1
Authority
KR
South Korea
Prior art keywords
program
source code
execution
user
execution state
Prior art date
Application number
KR1020130060377A
Other languages
English (en)
Other versions
KR20140139812A (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 KR1020130060377A priority Critical patent/KR101550652B1/ko
Publication of KR20140139812A publication Critical patent/KR20140139812A/ko
Application granted granted Critical
Publication of KR101550652B1 publication Critical patent/KR101550652B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

소스코드를 수정한 사용자가 소스코드의 맨 처음부터 프로그램을 재실행하지 않아도 소스코드의 수정에 따른 실행 결과를 즉각적으로 확인할 수 있는 프로그램 개발 환경 제공 장치 및 방법이 제공된다. 본 발명의 프로그램 개발 환경 제공 장치는, 프로그램의 실행 상태 데이터를 저장하는 실행 상태 저장부, 사용자로 하여금 상기 프로그램의 소스코드를 수정할 수 있게 하는 소스코드 편집부, 및 사용자에 의해 설정된 상기 프로그램의 실행 중의 재개 시점에서부터, 상기 실행 상태 데이터에 기초하여, 상기 수정된 소스코드를 따라 상기 프로그램을 재개하는 프로그램 실행부를 포함한다.

Description

프로그램 개발 환경 제공 장치 및 방법{METHOD AND APPARATUS FOR PROVIDING PROGRAM DEVELOPMENT ENVIRONMENT}
본 발명은 프로그램 개발 환경 제공 장치 및 방법에 관한 것으로, 보다 구체적으로는 프로그램을 작성하고 실행하고 디버깅할 수 있는 프로그램 개발 환경 제공 장치에 관한 것이다.
컴퓨터 프로그램을 개발함에 있어서, 프로그램을 실행하고 개발자가 원치 않는 오류를 발견하고 이를 수정하는 디버깅 과정은 필수적으로 진행된다.
또한, 복잡한 프로그램의 경우에는, 프로그램의 일부 기능만을 개발한 후 실행하여 테스트하고, 프로그램의 기능을 추가하면서 실행과 테스트의 과정을 반복하며 프로그램을 개발한다.
그러나, 종래의 프로그램 개발 환경에서는, 디버깅 또는 프로그램의 기능의 추가 등을 위하여 프로그램을 구성하는 소스코드를 수정한 사용자가 수정된 소스코드에 따른 실행 결과를 확인하고 싶은 경우에, 소스코드의 맨 처음부터 프로그램을 다시 시작하여야 했다. 이 때문에, 사용자는 소스코드의 수정과 무관한 부분을 반복하여 실행하여야 했고, 소스코드의 수정에 따른 실행 결과를 확인하는 데에 불편함이 있었다.
본 발명은 상술한 불편함을 해결하기 위하여 안출된 것으로, 소스코드를 수정한 사용자가 소스코드의 맨 처음부터 프로그램을 재실행하지 않아도 소스코드의 수정에 따른 실행 결과를 즉각적으로 확인할 수 있는 프로그램 개발 환경 제공 장치 및 방법을 제공하기 위한 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 측면에 따른 프로그램 개발 환경 제공 장치는, 프로그램의 실행 상태 데이터를 저장하는 실행 상태 저장부, 사용자로 하여금 상기 프로그램의 소스코드를 수정할 수 있게 하는 소스코드 편집부, 및 사용자에 의해 설정된 상기 프로그램의 실행 중의 재개 시점에서부터, 상기 실행 상태 데이터에 기초하여, 상기 수정된 소스코드를 따라 상기 프로그램을 재개하는 프로그램 실행부를 포함한다.
또한, 본 발명의 다른 측면에 따른 프로그램 개발 환경 제공 방법은, 사용자에 의해 설정된 재개 시점에서의 프로그램의 실행 상태 데이터를 저장하는 단계, 사용자로부터 상기 프로그램의 소스코드의 수정을 입력받는 단계, 및 상기 재개 시점에서부터, 상기 실행 상태 데이터에 기초하여, 상기 수정된 소스코드를 따라 상기 프로그램을 실행하는 단계를 포함한다.
또한, 본 발명의 또 다른 측면에 따른 프로그램 개발 환경 제공 방법은, 프로그램의 실행 중의 실행 상태 데이터를 저장하는 단계, 사용자로부터 상기 프로그램의 소스코드의 수정을 입력받는 단계, 사용자로부터 상기 프로그램의 재개 시점을 설정받는 단계, 및 상기 재개 시점에서부터, 상기 실행 상태 데이터에 기초하여, 상기 수정된 소스코드를 따라 상기 프로그램을 실행하는 단계를 포함한다.
본 발명의 프로그램 개발 환경 제공 장치 및 방법에 따르면, 소스코드를 수정한 사용자는 소스코드의 맨 처음부터 프로그램을 재실행하지 않아도 소스코드의 수정에 따른 실행 결과를 즉각적으로 확인할 수 있다.
또한, 사용자는 소스코드를 수정 중에, 소스코드의 수정에 따른 실행 결과를 실시간으로 확인하며 소스코드를 수정할 수 있다.
또한, 사용자는 프로그램을 한번만 실행하고도 프로그램 실행 상의 다양한 시점에서 실행 결과를 확인하며 소스코드를 수정할 수 있다.
도 1은 본 발명의 실시예에 따른 프로그램 개발 환경 제공 장치를 나타내는 기능 블록도이다.
도 2는 본 발명의 제 1 실시예에 따른 프로그램 개발 환경 제공 방법을 나타내는 순서도이다.
도 3은 본 발명의 제 1 실시예에 따라 제공되는 프로그램 개발 환경을 나타내는 예시도이다.
도 4는 본 발명의 제 2 실시예에 따른 프로그램 개발 환경 제공 방법을 나타내는 순서도이다.
도 5는 본 발명의 제 2 실시예에 따라 제공되는 프로그램 개발 환경을 나타내는 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 1은 본 발명의 실시예에 따른 프로그램 개발 환경 제공 장치를 나타내는 기능 블록도이다. 도 1을 참조하면, 프로그램 개발 환경 제공 장치(1)는 소스코드 편집부(10), 프로그램 실행부(20) 및 실행 상태 저장부(30)를 포함한다.
프로그램 개발 환경 제공 장치(1)는 프로그램을 구성하는 명령어와 연산자를 실행하는 연산장치(40), 프로그램 및/또는 처리 대상 데이터를 기억하는 기억장치(50), 프로그램의 소스코드 및/또는 기억장치에 저장되어 있는 데이터를 저장하는 저장장치(60), 사용자로부터 입력을 받기 위한 입력장치(70) 및 프로그램의 실행 화면을 표시하기 위한 표시장치(80)를 포함하는 장치로 구현될 수 있다. 예를 들어, 연산장치, 기억장치, 저장장치, 입력장치 및 표시장치는 각각 CPU, RAM, 하드디스크, 키보드 및 모니터일 수 있고, 프로그램 개발 환경 제공 장치(1)는 퍼스널 컴퓨터로 구현될 수 있으나, 이에 한정되는 것은 아니다.
소스코드 편집부(10), 프로그램 실행부(20) 및 실행 상태 저장부(30)는 각각 연산장치(40), 기억장치(50), 저장장치(60), 입력장치(70) 및 표시장치(80) 중 적어도 하나와 연동하는 소프트웨어 구성 요소로 구현될 수 있다.
소스코드 편집부(10)는 사용자가 소스코드를 작성하고 수정하기 위한 텍스트 에디터와 같은 소스코드 작성 툴을 제공한다. 소스코드 작성 툴은 종래의 프로그램 개발 툴에서 제공하는 사용자 편의 기능을 제공할 수 있다. 예를 들어, 소스코드 작성 툴은 소스코드의 구문 규칙(syntax)에 따라 텍스트의 색을 달리 표시하는 기능, 프로그램의 실행 상의 중단 시점(break point)를 설정하고 표시하는 기능 등을 제공할 수 있다.
프로그램 실행부(20)는 소스코드 편집부(10)에서 작성된 소스코드를 연산장치에서 사용되는 명령어 및/또는 연산자로 변환하여 실행한다. 프로그램 실행부(20)에서 실행되는 소스코드의 언어는 인터프리티브 언어(interpretive language)일 수 있으며, 예를 들어, 자바 스크립트 등의 스크립트 언어일 수 있다. 이 경우, 프로그램 실행부(20)는 소스코드를 인터프리트 방식으로 실행한다.
프로그램 실행부(20)는 프로그램이 실행되는 화면을 보여주는 실행창을 제공할 수 있다. 사용자는 실행창을 통해 프로그램의 실행 결과를 시각적으로 확인할 수 있다. 또한, 프로그램 실행부(20)는 프로그램이 실행되는 정도를 나타내는 진행 상태 바를 제공할 수 있다.
실행 상태 저장부(30)는 프로그램의 실행 상태 데이터를 저장한다. 실행 상태 데이터는 프로그램의 실행에 따라 생성되고 사용되고 변경된 데이터를 포함할 수 있다. 구체적으로, 프로그램의 실행 상태 데이터는 프로그램의 실행에 따라 생성된 데이터, 사용자에 의해 입력된 데이터, 및 이들 데이터를 기초로 연산된 데이터 등을 포함할 수 있다.
하나의 예로, 실행 상태 저장부(30)는 사용자에 의해 정해진 재개 시점에서 프로그램에 의해 생성/변경되어 있거나 사용되고 있는 데이터를 실행 상태 데이터로서 저장할 수 있다. 실행 상태 저장부(30)는 프로그램에 의해 할당된 또는 사용 중인 메모리 영역 - 주기억장치, 레지스터, 비디오 메모리 등을 포함할 수 있다 - 에 저장되어 있는 데이터를 메모리의 다른 영역 또는 하드디스크 등의 저장장치에 덤프(dump)함으로써, 실행 상태 데이터를 저장할 수 있다. 이때, 재개 시점은 프로그램의 실행 중에 사용자의 요청에 의해 정해질 수 있고, 또는 사용자가 소스코드 상의 특정 위치를 미리 재개 시점으로 설정함으로써 정해질 수 있다. 즉, 실행 상태 저장부(30)는 프로그램의 실행 중에 사용자로부터 요청이 있거나, 또는 사용자가 설정한 소스코드 상의 특정 위치에 도달하게 되면, 그 시점의 프로그램의 실행 상태 데이터를 저장할 수 있다.
다른 예로, 실행 상태 저장부(30)는 프로그램의 실행 중 발생하는 데이터 중 프로그램의 실행 결과에 영향을 미칠 수 있는, 비결정성(non-determinism)을 야기하는 데이터를 실행 상태 데이터로서 저장할 수 있다. 여기에서, 비결정성을 야기하는 데이터란 프로그램의 실행시까지 그 값이 결정되지 않은 데이터로서, 동일한 프로그램을 실행시켜도 경우에 따라 다른 결과가 나오도록 야기하는 데이터를 의미하고, 예를 들어, 사용자에 의한 입력 데이터, 네트워크를 통해 수신한 데이터, 랜덤함수의 반환값 등일 수 있다. 실행 상태 저장부(30)는 프로그램의 실행 중 발생하는 키 입력 데이터, 마우스 입력 데이터, 네트워크를 통해 수신한 데이터, 랜덤함수의 반환값 등 비결정성을 야기하는 데이터를 실행 상태 데이터로서 저장할 수 있다. 이때, 실행 상태 저장부(30)는 비결정성을 야기하는 데이터를 타임스탬프와 함께 저장할 수 있다. 타임스탬프는 프로그램의 실행 시작 시점에 대한 데이터의 입력 시점을 상대적으로 나타내는 값일 수 있다. 또한, 실행 상태 저장부(30)가 비결정성을 야기하는 데이터뿐만 아니라 프로그램의 실행 중 생성되거나 참조되는 모든 데이터를 실행상태 데이터로서 저장하더라도 무방하다.
프로그램 실행부(20)는 저장된 실행 상태 데이터에 기초하여 재개 시점으로부터 프로그램을 재개할 수 있다. 이때, 프로그램의 소스코드가 수정된 경우, 프로그램 실행부(20)는 재개 시점의 실행 상태 데이터에 기초하여 수정된 소스코드를 따라 프로그램을 실행할 수 있다.
하나의 예로, 프로그램 실행부(20)는 재개 시점의 실행 상태 데이터로서 덤프된 데이터를 프로그램에서 사용하던 메모리 영역에 복원(restore)하고, 재개 시점부터 수정된 소스코드를 따라 프로그램을 실행할 수 있다.
다른 예로, 프로그램 실행부(20)는 저장된 실행 상태 데이터 중에서 재개 시점 이전의 타임스탬프를 가지는 데이터에 기초하여 재개 시점에서의 프로그램의 실행 상태를 복원하고, 수정된 소스코드를 따라 프로그램을 실행할 수 있다. 예를 들어, 프로그램 실행부(20)는 프로그램을 소스코드의 처음에서부터 실행하고, 실행 상태 데이터가 해당 타임스탬프의 시점에 입력된 것으로 간주하며 재개 시점에 이를 때까지 실행함으로써 재개 시점에서의 프로그램의 실행 상태를 복원할 수 있다. 이때, 프로그램 실행부(20)는 재개 시점에 이를 때까지는 사용자가 인식하지 못하도록 프로그램을 백그라운드에서 빠르게 실행하고, 사용자가 재개 시점에서의 프로그램의 실행 상태가 복원된 것으로 인식할 수 있게 할 수 있다.
또한, 프로그램 실행부(20)는 사용자에 의해 정하여진 중단 시점(break point)까지 프로그램을 실행할 수 있다. 즉, 프로그램 실행부(20)는 소스코드의 끝까지 실행하지 않더라도, 사용자에 의해 정하여진 중단 시점이 되면 프로그램의 실행을 중지할 수 있다. 중단 시점은 소스코드의 수정에 따른 프로그램의 실행 상의 변화를 확인하기에 적합한 위치로 설정될 수 있다. 중단 시점은, 재개 시점과 마찬가지로, 프로그램의 실행 중에 사용자의 요청에 의해 정해지거나, 또는 사용자가 소스코드 상의 특정 위치를 미리 중단 시점으로 설정함으로써 정해질 수 있다.
또한, 프로그램 실행부(20)는 사용자로부터 프로그램의 재개 명령이 없더라도, 사용자에 의한 소스코드의 수정이 중지 또는 완료된 것으로 판단하면 자동으로 재개 시점에서부터 중단 시점까지 프로그램을 실행할 수 있다.
하나의 예로서, 프로그램 실행부(20)는 기설정된 시간(예를 들어, 1초) 동안 사용자가 소스코드를 수정하지 않는 경우에, 소스코드의 수정이 중지 또는 완료된 것으로 판단하고 자동으로 프로그램을 실행할 수 있다. 또한, 다른 예로서, 프로그램 실행부(20)는 사용자가 수정한 소스코드에 구문상 오류(syntax error)가 없는 경우에, 소스코드의 수정이 중지 또는 완료된 것으로 판단하고 자동으로 프로그램을 실행할 수 있다. 이때, 프로그램 실행부(20)는 재개 시점에서부터 중단 시점까지 반복하여 프로그램을 실행할 수 있다. 이 때문에, 사용자는 소스코드의 수정에 따른 프로그램의 실행 상의 변화를 실시간으로 그리고 반복적으로 확인할 수 있게 된다.
이하, 보다 구체적인 실시예를 참조하여 본 발명의 프로그램 개발 환경 제공 장치에서 제공되는 프로그램 개발 환경을 설명한다.
도 2는 본 발명의 제 1 실시예에 따른 프로그램 개발 환경 제공 방법을 나타내는 순서도이고, 도 3은 본 발명의 제 1 실시예에 따라 제공되는 프로그램 개발 환경을 나타내는 예시도이다. 도 2 및 도 3을 참조하면, 본 실시예에 따른 프로그램 개발 환경에서는 소스코드를 편집할 수 있는 텍스트 에디터(110), 실행창(120), 실행 버튼(130), 저장 버튼(140) 및 재개 버튼(150)이 제공된다.
도 3의 예에서, 게임을 실행하는 프로그램의 소스코드가 텍스트 에디터(110)를 이용하여 작성되어 있다. 실행 버튼(130)이 클릭되면, 프로그램 실행부(20)는 소스코드를 따라 게임 프로그램을 실행한다(S110). 프로그램 실행부(20)는 사용자로부터 키 입력 등을 얻어 게임 프로그램을 진행하고, 게임 실행 화면을 실행창(120)에 표시한다.
이때, 프로그램에서 게임의 종료 효과는 아직 구현되지 않아 있다고 가정한다. 종래의 프로그램 개발 환경에서는, 소스코드에 게임의 종료 효과를 구현하는 코드를 추가한 사용자가 추가된 코드에 따른 게임의 종료 효과를 확인하고 싶은 경우에, 소스코드의 맨 처음부터 프로그램을 다시 시작하여야 했다. 이 때문에, 사용자가 게임의 종료 효과만을 확인하고 싶은 경우에도 게임의 종료 효과가 발생하기 이전의 과정을 진행하여야 하였고, 소스코드의 수정에 따른 실행 결과를 확인하는 데에 번거로움이 있었다.
본 실시예에 따른 프로그램 개발 환경에서는, 사용자가 프로그램의 실행 중(예를 들어, 게임의 종료 직전)에 저장 버튼(140)을 클릭하면, 저장 버튼(140)이 클릭된 시점이 재개 시점으로 설정되고(S120), 실행 상태 저장부(30)가 저장 버튼(140)이 클릭된 시점에 있어서의 프로그램의 실행 상태 데이터를 저장한다(S130). 본 실시예에서는, 실행 상태 저장부(30)는 프로그램에 의해 할당된 또는 사용되고 있는 메모리 영역의 데이터를 다른 메모리 영역 또는 하드디스크에 덤프함으로써 프로그램의 실행 상태 데이터를 저장한다.
이후, 사용자가 소스코드를 수정하여 게임의 종료 효과를 구현하고(S140) 재개 버튼(150)을 클릭하면, 프로그램 실행부(20)는 덤프된 데이터를 복원하고(S150), 저장 버튼(140)이 클릭된 시점, 즉 재개 시점에서부터 수정된 소스코드를 따라 프로그램을 재실행한다(S160). 이로써, 클릭한 게임 종료 직전의 상태에서 프로그램이 재개된다. 이 때문에, 소스코드의 수정과 무관한 부분을 다시 실행하지 않고도 게임의 종료 효과를 즉각적으로 확인할 수 있게 된다.
또한, 사용자에 의한 재개 버튼(150)의 클릭이 없더라도 프로그램 실행부(20)가 사용자가 소스코드의 수정을 중지 또는 완료한 것으로 판단하면, 프로그램 실행부(20)는 재개 시점에서부터 수정된 소스코드를 따라 자동으로 프로그램을 재실행할 수 있다. 나아가, 사용자가 소스코드의 특정 위치를 중단 시점으로 설정한 경우에는, 프로그램 실행부(20)는 소스코드 상의 중단 시점에 이를 때까지 프로그램을 실행할 수 있으며, 재개 시점과 중단 시점 사이의 구간을 반복하여 실행할 수 있다. 이 때문에, 사용자는 소스코드의 수정에 따른 실행 결과를 실시간으로 확인하며 소스코드를 수정할 수 있다.
도 4는 본 발명의 제 2 실시예에 따른 프로그램 개발 환경 제공 방법을 나타내는 순서도이고, 도 5는 본 발명의 제 2 실시예에 따라 제공되는 프로그램 개발 환경을 나타내는 예시도이다. 도 5를 참조하면, 본 실시예에 따른 프로그램 개발 환경에서는 소스코드를 편집할 수 있는 텍스트 에디터(110), 실행창(120), 실행 버튼(130), 재개 버튼(150), 일시 정지 버튼(160), 진행 상태 바(170) 및 재개 시점 포인터(180)가 제공된다.
사용자가 텍스트 에디터(110)를 이용하여 소스코드를 작성하고, 실행 버튼(130)을 클릭하면, 프로그램 실행부(20)는 사용자로부터 키 입력 등을 얻어 소스코드에 따라 프로그램을 실행한다(S210).
실행 상태 저장부(30)는, 프로그램의 실행에 영향을 미치는 모든 비결정성을 야기하는 데이터, 예를 들어, 사용자의 키보드 입력 데이터, 마우스 입력 데이터, 네트워크를 통해 수신한 데이터, 랜덤함수의 반환값 등을 프로그램의 상태 데이터로서 저장한다(S220). 이때, 실행 상태 저장부(30)는 비결정성을 야기하는 데이터를 타임스탬프와 함께 저장할 수 있다.
사용자는 일시 정지 버튼(160)을 클릭하여 프로그램의 실행을 일시 정지시키고, 프로그램이 실행된 정도를 나타내는 진행 상태 바(170)의 재개 시점 포인터(180)를 슬라이드하여 프로그램의 재개 시점을 설정할 수 있다(S230). 또한, 사용자는 텍스트 에디터(110)를 이용하여 소스코드를 수정할 수 있다(S240).
이후, 재개 버튼(150)이 클릭되면, 프로그램 실행부(30)는 저장된 데이터 중에서 재개 시점 이전의 타임스탬프를 가지는 데이터에 기초하여, 재개 시점에서의 프로그램의 실행 상태를 복원하고(S250), 재개 시점에서부터 수정된 소스코드를 따라 프로그램을 재실행한다(S260). 이로써, 재개 시점 포인터(180)로 지정한 프로그램의 실행 상태에서 프로그램이 재개된다. 본 실시예에서는, 재개 시점 포인터(180)를 제공함으로써, 다양한 시점에서부터 프로그램을 재개하는 것이 가능하게 된다. 따라서, 프로그램을 한번만 실행하고도 프로그램 실행 상의 다양한 시점에서 실행 결과를 확인하며 소스코드를 수정하는 것이 용이하게 된다.
상술한 프로그램 개발 환경 제공 방법은 프로그램 개발 환경 제공 장치에서 실행되는 컴퓨터 프로그램으로 구현될 수 있고, 자기 디스크, 비휘발성 메모리 장치, 광디스크 등의 컴퓨터로 판독 가능한 기록매체에 수록될 수 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 프로그램의 실행 상태 데이터를 저장하는 실행 상태 저장부,
    사용자로 하여금 상기 프로그램의 소스코드를 수정할 수 있게 하는 소스코드 편집부, 및
    사용자에 의해 설정된 상기 프로그램의 실행 중의 재개 시점에서부터, 상기 실행 상태 데이터에 기초하여, 수정된 소스코드를 따라 상기 프로그램을 재개하는 프로그램 실행부를 포함하고,
    상기 실행 상태 저장부는 상기 실행 상태 데이터로서 상기 프로그램의 실행 중 발생하는 데이터를 타임스탬프와 함께 저장하는 것을 특징으로 하는 프로그램 개발 환경 제공 장치.
  2. 제 1 항에 있어서,
    상기 소스코드 편집부는 상기 소스코드를 수정할 수 있는 텍스트 에디터를 제공하는 것을 특징으로 하는 프로그램 개발 환경 제공 장치.
  3. 제 1 항에 있어서,
    상기 프로그램 실행부는 상기 프로그램이 실행되는 화면을 보여주는 실행창을 제공하는 것을 특징으로 하는 프로그램 개발 환경 제공 장치.
  4. 제 1 항에 있어서,
    상기 실행 상태 저장부는 상기 재개 시점에서의 상기 프로그램의 실행 상태 데이터를 저장하는 것을 특징으로 하는 프로그램 개발 환경 제공 장치.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 프로그램 실행부는, 상기 재개 시점 이전의 타임스탬프를 가지는 상기 데이터에 기초하여, 상기 재개 시점에서부터 상기 수정된 소스코드를 따라 상기 프로그램을 재개하는 것을 특징으로 하는 프로그램 개발 환경 제공 장치.
  7. 제 1 항에 있어서,
    상기 프로그램 실행부는 상기 재개 시점에서부터 사용자에 의해 설정된 중단 시점까지 상기 프로그램을 실행하는 것을 특징으로 하는 프로그램 개발 환경 제공 장치.
  8. 제 7 항에 있어서,
    상기 프로그램 실행부는 상기 재개 시점에서부터 상기 중단 시점까지 상기 프로그램을 반복 실행하는 것을 특징으로 하는 프로그램 개발 환경 제공 장치.
  9. 제 1 항에 있어서,
    상기 프로그램 실행부는 상기 사용자로부터 기설정된 시간 동안 입력이 없는 경우에 상기 프로그램을 재개하는 것을 특징으로 하는 프로그램 개발 환경 제공 장치.
  10. 제 1 항에 있어서,
    상기 소스코드의 언어는 스크립트 언어인 것을 특징으로 하는 프로그램 개발 환경 제공 장치.
  11. 사용자에 의해 설정된 재개 시점에서의 프로그램의 실행 상태 데이터로서 상기 프로그램의 실행 중 발생하는 데이터를 타임스탬프와 함께 저장하는 단계,
    사용자로부터 상기 프로그램의 소스코드의 수정을 입력받는 단계, 및
    상기 재개 시점에서부터, 상기 실행 상태 데이터에 기초하여, 상기 수정된 소스코드를 따라 상기 프로그램을 실행하는 단계를 포함하는 프로그램 개발 환경 제공 방법.
  12. 제 11 항에 있어서,
    상기 재개 시점은 상기 프로그램의 실행 중에 사용자의 요청에 의해 설정되는 것을 특징으로 하는 프로그램 개발 환경 제공 방법.
  13. 프로그램의 실행 중의 실행 상태 데이터로서 상기 프로그램의 실행 중 발생하는 데이터를 타임스탬프와 함께 저장하는 단계,
    사용자로부터 상기 프로그램의 소스코드의 수정을 입력받는 단계,
    사용자로부터 상기 프로그램의 재개 시점을 설정받는 단계, 및
    상기 재개 시점에서부터, 상기 실행 상태 데이터에 기초하여, 수정된 소스코드를 따라 상기 프로그램을 실행하는 단계를 포함하는 프로그램 개발 환경 제공 방법.
  14. 삭제
  15. 제 13 항에 있어서,
    상기 프로그램을 실행하는 단계는,
    상기 재개 시점 이전의 타임스탬프를 가지는 상기 데이터에 기초하여, 상기 재개 시점에서부터 상기 수정된 소스코드를 따라 상기 프로그램을 실행하는 것을 특징으로 하는 프로그램 개발 환경 제공 방법.
  16. 제 11 항 또는 제 13 항에 있어서,
    상기 프로그램을 실행하는 단계는,
    상기 재개 시점에서부터 사용자에 의해 설정된 중단 시점까지 상기 프로그램을 실행하는 것을 특징으로 하는 프로그램 개발 환경 제공 방법.
  17. 제 16 항에 있어서,
    상기 프로그램을 실행하는 단계는,
    상기 재개 시점에서부터 상기 중단 시점까지 상기 프로그램을 반복 실행하는 것을 특징으로 하는 프로그램 개발 환경 제공 방법.
  18. 제 11 항 또는 제 13 항에 있어서,
    상기 프로그램을 실행하는 단계는,
    상기 사용자로부터 기설정된 시간 동안 소스코드의 수정의 입력이 없는 경우에 상기 프로그램을 실행하는 것을 특징으로 하는 프로그램 개발 환경 제공 방법.
  19. 제 11 항 또는 제 13 항에 있어서,
    상기 소스코드의 언어는 스크립트 언어인 것을 특징으로 하는 프로그램 개발 환경 제공 방법.
  20. 제 11 항 또는 제 13 항의 방법을 컴퓨터 상에서 실행하도록 구현된 컴퓨터 프로그램을 수록한 컴퓨터로 판독 가능한 기록 매체.
KR1020130060377A 2013-05-28 2013-05-28 프로그램 개발 환경 제공 장치 및 방법 KR101550652B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130060377A KR101550652B1 (ko) 2013-05-28 2013-05-28 프로그램 개발 환경 제공 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130060377A KR101550652B1 (ko) 2013-05-28 2013-05-28 프로그램 개발 환경 제공 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140139812A KR20140139812A (ko) 2014-12-08
KR101550652B1 true KR101550652B1 (ko) 2015-09-07

Family

ID=52457943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130060377A KR101550652B1 (ko) 2013-05-28 2013-05-28 프로그램 개발 환경 제공 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101550652B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220067384A (ko) * 2020-11-17 2022-05-24 전북대학교산학협력단 소프트웨어 재사용을 위한 실행 환경 운용 방법 및 이를 지원하는 컴퓨팅 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192158A (ja) 2002-12-09 2004-07-08 Fuji Mach Mfg Co Ltd 生産管理システム、作業履歴ファイル作成プログラム、作業再現プログラム及びトラブル診断方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192158A (ja) 2002-12-09 2004-07-08 Fuji Mach Mfg Co Ltd 生産管理システム、作業履歴ファイル作成プログラム、作業再現プログラム及びトラブル診断方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220067384A (ko) * 2020-11-17 2022-05-24 전북대학교산학협력단 소프트웨어 재사용을 위한 실행 환경 운용 방법 및 이를 지원하는 컴퓨팅 장치
KR102425387B1 (ko) * 2020-11-17 2022-07-25 전북대학교산학협력단 소프트웨어 재사용을 위한 실행 환경 운용 방법 및 이를 지원하는 컴퓨팅 장치

Also Published As

Publication number Publication date
KR20140139812A (ko) 2014-12-08

Similar Documents

Publication Publication Date Title
US9519495B2 (en) Timed API rules for runtime verification
US9146832B2 (en) Debugging functionality embedded in an application
US8756570B2 (en) Defining a conditional breakpoint
US20070074168A1 (en) Automated step type determination
US20140372985A1 (en) API Rules Verification Platform
US20100146481A1 (en) Developing applications at runtime
US20150212923A1 (en) Nontransitory processor readable recording medium having fault injection program recorded therein and fault injection method
US20100242026A1 (en) Enhanced thread stepping
US8423970B2 (en) Method, computer program product, and hardware product for handling breakpoints in an asynchronous debug model
US20130086559A1 (en) Resuming a prior debug session
US20030217354A1 (en) Scope-based breakpoint selection and operation
US20230126437A1 (en) Service processing method and apparatus, electronic device, and storage medium
US20060168568A1 (en) Method, system and computer program product for testing computer programs
JP6488653B2 (ja) 表示装置、表示制御方法および表示システム
US8701093B2 (en) Event management in a non-stop debugging environment
US10108474B2 (en) Trace capture of successfully completed transactions for trace debugging of failed transactions
KR20180018722A (ko) 실패한 테스트 스크립트들에 대한 디버그 정보를 생성, 캡처, 저장 및 로딩하기 위한 방법 및 장치
CN110851297A (zh) 一种接口抖动状态的处理方法、装置、系统及介质
KR101550652B1 (ko) 프로그램 개발 환경 제공 장치 및 방법
US20110258613A1 (en) Software debugger activation based on key performance indicators
CN107291617B (zh) 一种基于隐式污点传播的漏洞分析方法
US20030188296A1 (en) Conditional debug monitors
JP6318214B2 (ja) 汎用マイクロプロセッサを用いたplcのデバッグ方法
JP2007004400A (ja) プログラム・デバッグ方法
US11372743B2 (en) Computer devices and computer implemented methods

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190902

Year of fee payment: 5