KR100289039B1 - 교차디버깅서버에서프로세스실행제어서비스실현방법 - Google Patents

교차디버깅서버에서프로세스실행제어서비스실현방법 Download PDF

Info

Publication number
KR100289039B1
KR100289039B1 KR1019970069487A KR19970069487A KR100289039B1 KR 100289039 B1 KR100289039 B1 KR 100289039B1 KR 1019970069487 A KR1019970069487 A KR 1019970069487A KR 19970069487 A KR19970069487 A KR 19970069487A KR 100289039 B1 KR100289039 B1 KR 100289039B1
Authority
KR
South Korea
Prior art keywords
kernel
execution
state
stack
point
Prior art date
Application number
KR1019970069487A
Other languages
English (en)
Other versions
KR19990050368A (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 KR1019970069487A priority Critical patent/KR100289039B1/ko
Publication of KR19990050368A publication Critical patent/KR19990050368A/ko
Application granted granted Critical
Publication of KR100289039B1 publication Critical patent/KR100289039B1/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/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
    • G06F11/362Software debugging

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

본 발명은 교차 디버깅 서버에서 프로세스 실행제어 서비스 실현방법에 관한 것으로서, 프로세스가 어떤 사건이 일어나기를 기다리는 대기 상태가 커널 내에서 일어나는 상황에서 그 프로세스를 실행중단시키는 경우 대기중인 프로세스의 현재 프로그램 카운터가 아닌 커널내로 드러오는 진입지점을 찾아 프로그램 카운터를 진입지점으로 변경하는 제 1 과정, 변경된 프로그램 카운터에 해당하는 스택 프레임을 그 프로세스의 샐행 시간 스택에서 찾아 스택 포인터를 조정하는 제 2 과정, 프로세스가 실행 개재되었을 때 커널 진입지점에서 재 수행할 수 있도록 진입지점의 입력 파라메터를 해당 스택 프레임에서 찾는 제 3 과정, 새로 조정한 프로그램 카운터와 스택 포인터, 진입지점의 입력 파라메터들을 파라메터 전달용 레지스터에 저장하고, 프로세스 제어 블럭에 저장하는 제 4 과정 및 프로세스가 실행 재개될 때 새로 조정하여 상기 프로세스 제어 블럭에 저장해 둔 정보(프로그램 카운터, 스택 포인터, 입력 파라메터 정보)로 재 로딩함과 동시에 프로세스 상태를 중첩 관리하면서 실행재개시키는 제 5 과정으로 구성하여 커널 내에서 대기 상태인 프로세스를 실행 중단시키고, 실행재개시키는 과정을 제공함으로써, 실행중인 프로세스를 디버깅함에 있어 쉽게 프로세스를 싱행제어할 수 있도록 하는 효과를 갖는다.

Description

교차 디버깅 서버에서 프로세스 실행제어 서비스 실현방법
본 발명은 교차 디버깅 서버에서 프로세스 실행제어 서비스 실현방법에 관한 것으로서, 특히, 효과적으로 병행 프로세스를 디버깅할 수 있는 새로운 프로세스 실행제어 방법을 고안하여 실행중인 병행 프로세스들을 강제로 중단시켜 디버깅하고 실행 재개시킬 수 있는 교차 디버깅 서버에서 프로세스 실행제어 서비스 실현방법에 관한 것이다.
일반적으로 교환 시스템은 내장형(embedded) 응용 분야이므로 유닉스(UNIX) 운영체계를 근간으로 하는 호스트 컴퓨터에 편집 및 컴파일 환경을 두고 타겟인 교환 시스템용 목적 코드를 생산하여 타겟 교환 시스템에 다운로딩하여 실행시키는 방법을 사용한다.
이러한 교차 개발 환경하에서 효과적인 시험환경 및 디버깅 환경을 제공하기 위해서는 호스트 컴퓨터에서 타겟 교환 시스템에서 실행하는 프로그램을 시험하고 디버깅할 수 있는 방법이 요구된다.
교차디버깅 서버의 프로세스 실행제어 서비스란 실행 중인 프로세스를 강제로 실행 중단 시키거나, 실행 중단 시킨 프로세스를 실행 재개 시켜주는 것을 의미한다.
종래에는 이러한 교차 디버깅 서버의 프로세스 실행을 제어하기 위해 실행중인 프로세스를 강제로 실행 중단 시키고, 실행 재개 시키는 방법에 있어서, 프로세스를 실행 중단 시킬 때 단순히 그 프로세스의 실행 중단되는 지점의 정보(프로그램 카운터, 스택 포인터, 레지스터 정보 등)를 프로세스 제어 블럭에 보관하였다가 실행 재개하는 시점에 보관해 놓은 지점에서 다시 시작 시키는, 즉, 푸시 앤 팝(Push and Pop) 방식으로 실현하였는데, 일반적으로 UNIX나 MS 윈도우 등과 같은 범용 운영체제는 프로세스가 운영체계 커널내에서 대기하거나 실행 중단되는 경우가 없도록 구현되어 있으므로 푸시 앤 팝 방법을 사용하고 있다.
이러한 종래 방식은 어떤 사건이 발생하기를 기다리고 있는 프로세스에 대해 실행 중단시키고 실행 재개 시키는 프로세스 실행제어 행위가 프로세스의 스케쥴링 과정에서 어떤 사건을 동시에 여러 프로세스가 영원히 기다리게 되는 시스템 실행 중단 상태를 유발시킬 뿐만 아니라, 디버깅을 위해 프로세스를 실행중단 시키는 행위가 다른 프로세스의 실행에도 영향을 끼치는 구조로 되어 있어 병행 프로세스로 이루어진 시스템을 효과적으로 디버깅할 수 없었다.
그러나, 이와 같은 종래의 기술은 운영체제 커널내에서 프로세스가 어떤 사건(메시지, 세마포어, 인터럽트 등)을 대기하는 방식을 사용하는 운용체제에서는 프로세스가 커널내에서 교착 상태에 빠질 수 있는, 즉 커널내에서 사건을 기다리는 프로세스를 디버깅을 위해 실행 중단시키는 경우, 실행 중단된 시점에서 실행 재개한다면 실행중단 동안 발생한 사건을 영원히 기다리게 되는 상황이 발생한다. 다시 말하면 커널내에서 프로세스가 사건을 대기하는 운영체제에서는 종래의 프로세스 실행제어 방법을 사용하면 디버깅으로 인해 시스템의 실행이 중단되는 상황의 문제점이 발생할 수 있다.
그러므로, 시스템의 실행 중단이나 프로세스들의 교착상태 발생없이 병행 프로세스들로 이루어진 프로그램을ㄴ 디버깅하기 위해 새로운 프로세스 실행제어 방법이 강력히 요구된다.
상기 문제점을 해경하기 위해 본 발명은, 실행중인 프로세스를 강제로 실행 중단 시킨 다음, 중단된 순간의 그 프로세스에 해당하는 메모리, 스택, 레지스터 등 프로세스 자원을 조회하여 디버깅할 수 있게 하거나, 실행 중단시킨 프로세스의 자원을 변경시킨 다음 실행 재개시켜 보는 방법을 통하여 프로세스를 디버깅하고자 할 때, 디버깅으로 인하여 시스템이 실행 중단된다든지 하는 상황발생 없이 본 서비스를 이용하여 프로세스를 실행제어하면서 디버깅할 수 있는 교차 디버깅 서버에서 프로세스 실행제어 서비스 실현방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해 본 발명에서 제공하는 교차 디버깅 서버에서 프로세스 실행제어 서비스를 실현하는 방법은, 프로세스가 어떤 사건(메시지, 세마포어, 인터럽트 등)이 일어나기를 기다리는 대기 상태가 커널내에서 이뤄지는 사황에서 프로세스를 실행 중단시키는 경우 대기 중인 프로세스의 현재 프로그램 카운터가 아닌 커널내로 들어오는 진입지점(시스템 콜 엔트리 포인트)을 프로세스 실행시간 스택에서 찾은 다음 프로그램 카운터를 진입지점으로 변경하는 제 1 과정, 상기 변경된 프로그램 카운터에 해당하는 스택 프레임으로 스택 포인터를 조정하는 제 2 과정, 상기 프로세스가 실행 재개되었을 때 커널 진입지점에서 재 수행할 수 있도록 진입지점의 입력 파라메타를 해당 스택 프레임에서 찾는 제 3 과정, 상기 새로 조정한 프로그램 카운터와 스택 포인터, 진입지점의 입력 파라메터들을 파라메타 전달용 레지스터에 저장하고, 프로세스 제어 블럭에 저장하는 제 4 과정 및 프로세스가 실행 재개될 때 새로 조정하여 프로세스 제어 블럭에 저장해 둔 정보(프로그램 카운터, 스택 포인터, 입력 파라메터 정보)로 재 로딩함과 동시에 프로세스의 상태를 중첩관리 하면서 실행 재개시키는 제 5 과정을 포함하는 것을 특징으로 한다.
도 1은 본 발명이 적용되는 하드웨어 시스템의 구성도,
도 2는 본 발명에 따라 교차 디버깅 서버에서 프로세스 실행제어 서비스를 실현하기 위한 소프트웨어 구성도,
도 3은 본 발명에 따른 교차 디버깅 서버에서 프로세스 실행을 제어하기 위한 처리 흐름도,
도 4는 본 발명에 따른 프로세스 실행을 중단시키는 처리 흐름도,
도 5는 본 발명에 따른 프로세스 실행을 재개하는 처리 흐름도.
〈도면의 주요부분에 대한 부호의 설명〉
1 : OMP(운용 보전 프로세서) 2 : SCP(호처리 프로세서)
3 : 스위치 망 4 : 타겟 교환 시스템
5 : 호스트 컴퓨터 6 : 이더넷 통신망
이하, 첨부된 도면을 참조하여 본 발명을 좀더 상세히 설명하고자 한다.
도 1은 본 발명이 적용되는 하드웨어 시스템의 구성도이고, 도 2는 본 발명에 따라 교차 디버깅 서버에서 프로세스 실행제어 서비스를 실현하기 위한 소프트웨어 구성도이고, 도 3은 본 발명에 따른 교차 디버깅 서버에서 프로세스 실행을 제어하기 위한 처리 흐름도이고, 도 4는 본 발명에 따라 프로세스 실행을 중단시키는 처리 흐름도이고, 도 5는 본 발명에 따라 프로세스 실행을 재개하는 처리 흐름도이다.
도 1을 참조하면, 본 발명에 적용되는 하드웨어 시스템은 실시간 운영체계를 탑재한 OMP(1)와 SCP(2)가 스위치 망(3)으로 연결된 타겟 교환 시스템(4), UNIX를 운영체계로 하는 호스트 컴퓨터(5), 그리고 상기 타겟 교환 시스템(4)과 호스트 컴퓨터(5)를 물리적으로 연결해 주는 이더넷(6)으로 구성되며, 본 발명은 상기 타겟 교환 시스템(4)의 OMP(1)나 SCP(2)에 교차 디버깅 서버가 장착된 SROS 운영체계를 실장하고, UNIX 운영체계를 실장한 호스트 컴퓨터에는 교차 디버깅 클라이언트를 탑재한 다음 호스트 컴퓨터(5)에서 타겟 교환 시스템에서 실행하는 사용자 프로그램을 시험하거나 디버깅 하고자 할 때 사용하는 상기 타겟 교환 시스템(4)의 교차 디버깅 서버가 제공하는 프로세스 실행제어 서비스 실현방법에 관한 것이다.
도 2는 본 발명에 따라 교차 디버깅 서버에서 프로세스 실행제어 서비스를 실현하기 위한 소프트웨어 구성도로서, 도 2를 참조하면, 프로세스 실행제어 서비스를 제공하기 위한 실시간 운영체계의 교차 디버깅 서버(7)는 하나 이상의 서비스 데몬(8)과, 디버깅 서비스 엔진(9)과 원격 통신 처리부(10)로 구성한다.
이 때, 상기 원격 통신 처리부(10)는 호스트 컴퓨터에 있는 교차 디버깅 클라이언트(13)와 원격 통신을 제어하여 서비스 데몬에게 교차 디버깅 클라이언트로부터 수신한 프로세서 실행제어 서비스 요청 메시지를 전달하고, 서비스 데몬(8)이 서비스 결과를 호스트 컴퓨터에 있는 교차 디버깅 클라이언트에게 전달하고자 할 경우 이를 전송하는 역할을 하고, 또한, 상기 서비스 데몬(8)은 교차 디버깅 클라이언트로 부터의 프로세스 실행제어 서비스 요청을 받아 디버깅 서비스 엔진(9)을 이용한 사용자 프로그램(11)내의 임의의 프로세스가 실행 중단하거나 실행 재개하는 등 프로세스 실행을 제어 하여 그 결과를 교차 디버깅 클라이언트에게 전달하는 역할을 하며, 한편, 상기 디버깅 서비스 엔진(9)은 서비스 데몬이 프로세스를 실행제어할 수 있도록 하는 제반 기능을 제공한다.
도 3은 본 발명에 따른 교차 디버깅 서버에서 프로세스 실행을 제어하기 위한 처리 흐름도로서, 도 3을 참조하면, 먼저, 서비스 데몬(8)이 교차 디버깅 클라이언트로부터 프로세스 실행제어 서비스 요청 메시지를 기다리다가(14) 교차 디버깅 클라이언트로부터 프로세스 실행제어 서비스 요청 메시지를 수신하면(15) 그 요청 받은 서비스가 프로세스 실행제어 서비스 중 프로세스 실행중단 요청인가를 조사한다(16).
상기 조사(16) 결과 요청 받은 서비스가 프로세스 실행중단 요청이라면, 프로세스 실행중단 과정을 수행하고(17), 수행한 결과를 교차 디버깅 클라이언트에게 전송한 뒤(20) 종료하며, 그리고, 요청받은 내용이 프로세스 실행 중단 요청이 아니면, 프로세스 실행 재개 요청인지를 확인(18)하여 프로세스 실행 재개 요청인 경우 프로세스 실행재개 과정을 수행하고(19), 수행한 결과를 교차 디버깅 클라이언트에게 전송한 뒤(20) 종료한다.
도 4는 본 발명에 따른 프로세스 실행을 중단시키는 처리 흐름도로서, 도 4를 참조하면, 프로세스 실행 중단 과정에서는 먼저, 실행 중단시킬 프로세스가 시스템에 존재하는지 조사하여(21) 프로세스의 현재 상태를 저장하고, 실행 재개할 때의 프로세스의 상태를 정의하고(22), 실행 중단 시킬 프로세스가 어떤 사건(메시지, 세마포어, 인터럽트 등)이 일어나기를 기다리는 대기 상태인가를 조사하여(23) 대기 상태가 아니면, 프로세스 컨텍스트 스위치(context switch)에 필요한 정보를 프로세스 실행제어 블록에 저장하고, 프로세스 스케쥴링을 위한 준비큐에서 그 프로세스를 제외시킨(28) 다음 종료한다.
그리고, 상기 조사(23) 결과 대기 상태이면, 프로세스가 운영체제의 커널내의 입의의 지점에서 대기하고 있으므로 다시 실행 재개하였을 때 커널내의 진입 지점에서 다시 실행할 수 있도록 하기 위해 프로세스의 상태를 대기로 만든 시스템 콜의 커널내의 시작지점을 프로세스 스택을 따라가며 찾으며(24), 다음은 프로그램 카운터(PC:Program Counter)가 현재의 실행 위치가 아닌 시스템 콜의 커널내 진입지점에 있는 명령어를 가리키도록 변경하고(25), 프로그램 카운터 조정이 끝나면, 프로세스의 실행시간 스택을 상위 프레임에서 하위 프레임으로 차례대로 따라가면서 커널내 진입지점에 해당하는 스택 프레임을 찾아 스택 포인터와 프레임 포인터가 시스템 콜의 커널내 진입 지점에 해당하는 스택 프레임을 가리키도록 변경한다(26).
상기 프로그램 카운터, 스택 포인터, 프레임 포인터의 조정이 끝나면 커널내 시스템 콜 진입지점의 프로시쥬어가 사용하는 입력 파라메타들을 해당 스택 프레임에서 찾아 파라메타 전달용 레지스터들에 재로딩하여 놓으며(27), 마지막으로, 프로세스 컨텍스트 스위치에 필요한 그 외 프로세스 정보를 프로세스 실행제어 블럭에 저장하고, 프로세스 스케쥴링을 위한 준비큐에서 그 프로세스를 제외시킨(28) 다음 프로세스 상태를 실행 중단 상태로 변경하고 실행 중단 원인을 프로세스 실행 제어에 의함으로 프로세스 제어 블럭에 기록하고 종료한다.
도 5는 본 발명에 따른 프로세스 실행을 재개하는 처리 흐름도로서, 도 5를 참조하면, 프로세스 실행재개 과정은 먼저, 프로세스의 실행 중단된 시점에 저장해 놓은 프로세스 상태 관련 정보를 조회하여(29), 프로세스가 실행 중단된 원인을 조사하여, 원인별로 정의한 프로세스 실행 재개 시점의 상태로 프로세스의 상태를 재지정한다(30).
이 때, 설정해 놓은 정지점에 의해 프로세스가 실행 중단된 상태라면, 정지점 명령어를 계속 유지할 것인지를 결정하고, 만약 스테핑(stepping)에 의한 실행 중단된 상태라면 실행 재개하였을 때 계속 스테핑(stepping)을 할 수 있도록 준비하는데, 정지점과 스테핑에 의해 프로세스가 실행 중단되는 경우는 해당 인터럽트 핸들러에서 프로세스를 준비 큐에서 제거하고, 프로세스 상태를 실행 중단 상태로 표시하고 그 원인을 프로세스 제어 블럭에 기록하게 된다. 이와 같은 프로세스 상태 정보를 프로세스 실행 재개 지점에 참조하게 되는데, 예를 들어 프로세스가 정지점에 의해 실행 중단된 상태에서 프로세스 실행제어에 ㅢ해 다시 한번 더 실행 중단되면 그 상태가 중첩 관리도어 실행 재개될 때 프로세스 실행 제어에 의해 실행 중단되기 전의 상태인 정지점에 의해 중단된 상태로 실행 재개되고, 스태핑의 경우도 마찬가지로 실행되며, 또한 프로세스 실행제어에 의해 실행 중단되는 상화이 중첩되는 경우도 스택처럼 프로세스 상태와 실행 중단 원인이 관리된다.
그리고, 프로세스 제어블럭에 저장해 놓은 컨텍스트 스위치(context switch)에 필요한 정보를 해당 레지스터에 재로딩한(31) 다음 프로세스가 다시 스케쥴링될 수 있도록 프로세스 준비큐에 넣고(32) 종료한다.
상기와 같은 본 발명은 프로세스의 실행 대기 상황이 운영체제의 커널내에서 이루어지는 실시간 운영체제인 경우, 시스템 실행이 중단되는 상황, 즉 교착 상태 발생 없이 실행 중인 프로세스를 실행 중단 시키고, 실행재개 시키는 과정을 제공하여, 실행중인 프로세스를 디버깅함에 있어 쉽게 프로세스를 실행제어 할 수 있게 할 뿐만 아니라, 디버깅에 따르는 일련의 과정을 상당히 단축할 수 있으므로 소프트웨어 생산성 향상에 기여하는 효과가 있다.

Claims (6)

  1. 실행 중인 프로세스를 강제로 실행 중단시키거나, 실행 중단시킨 프로세스를 실행 재개 시켜주는 교차 디버깅 서버의 프로세스 실행제어 서비스 실현방법에 있어서,
    상기 프로세스가 소정 사건(메시지, 세마포어, 인터럽트 등)이 일어나기를 기다리는 대기 상태가 커널내에서 이뤄지는 사황에서 프로세스를 실행 중단시키는 겨우 대기중인 프로세스의 현재 프로그램 카운터가 아닌 커널내로 드러오는 진입지점(시스템 콜 엔트리 포인트)을 프로세스 실행시간 스택에서 찾은 다음 프로그램 카ㅜㄴ터를 진입지저므로 변경하는 제 1 과정;
    상기 변경된 프로그램 카운터에 해당하는 스택 프레임으로 스택 포인터를 조정하는 제 2 과정;
    상기 프로세스가 실행 재개되었을 때 커널 진입지점에서 재 수행할 수 있도록 진입지점의 입력 파라메터를 해당 스택 프레임에서 찾는 제 3 과정;
    상기 새로 조정한 프로그램 카운터와 스택 포인터, 진입지점의 입력 파라메타들을 파라메타 전달용 레지스터에 저장하고, 프로세스 제어 블럭에 저장하는 제 4 과정; 및
    프로세스가 실행 재개될 때 새로 조정하여 상기 프로세스 제어 블럭에 저장해 둔 정보(프로그램 카운터, 스택 포인터, 입력 파라메타 정보)로 재 로딩함과 동시에 프로세스의 상태를 중첩관리하면서 실행 재개시키는 제 5 과정을 포함하는 것을 특지으로 하는 교차 디버깅 서버에서 프로세스 실행제어 서비스 실현방법.
  2. 제 1 항에 있어서, 상기 제 5 과정은
    프로세스의 실행 중단되 시점에 저장해 놓은 프로세스 상태 관련 정보를 조회하여 프로세스가 실행 중단된 원인을 조사하는 제 1 단계;
    상기 원인별로 정의한 프로세스 실행 재개 시점의 상태로 프로세스의 상태를 재 지정할 때 프로세스의 상태를 중첩 관리하는 제 2 단계로 구성된 것을 특징으로 하는 교차 디버깅 서버에서의 프로세스 실행제어 서비스 실현방법.
  3. 제 2 항에 있어서, 상기 제 1 단계는
    실행 중단 시킬 프로세스가 시스템에 존재하는지 조사하여 그 프로세스의 현재 상태를 저장하고, 실행 재개할 때의 상태를 정의한 다음 실행중단 시킬 프로세스가 어떤 사건(메시지, 세마포어, 인터럽트 등)이 일어나기를 기다리는 대기 상태인가를 판단하는 제 1부단계와;
    상기 판단 결과, 실행중단 시킬 프로세스가 대기 상태이면, 그 프로세스를 대기 상태로 만든 시스템 콜의 커널내 진입 지점을 스택을 따라가며 찾아 프로세스가 실행재개 되었을 때 커널내 진입 지점에서 다시 시작할 수 있도록 처리하는 제 2부단계와;
    프로그램 카운터가 현재의 실행 위치가 아닌 상기 시스템 콜의 커널내 지입 지점에 있는 명령어를 가리키도록 변경하고, 프로그램 카운터 조정이 끝나면 프로세스의 실행시간 스택을 상위 프레임에서 하위 프레임으로 차례대로 따라가면서 커널내 진입지점에 해당하는 스택 프레임을 찾아 스택 포인터와 프레임 포인터가 시스템 콜의 커널내 진입 지점에 해다하는 스택 프레임을 가리키도록 변경한는 제 3부단계;
    상기 프로그램 카운터, 스택 포인터, 프레임 포인터의 조정이 끝난 후 상기 커널내 시스템 콜 진입저점의 프로시쥬어가 사용하는 입력 파라메타들을 해당 스택 프레임에서 찾아 파라메타 전달용 레지스터들에 재로딩하여 놓는 제 4부단계; 및
    제 4 부단계 수행 후 프로세스 컨텍스트 스위치에 필요한 그 외 프로세스 정보를 프로세스 실행제어 블럭에 저장하고, 프로세스 스케쥴링을 위한 준비큐에서 그 프로세스를 제외시킨 다음 프로세스 상태를 실행 중단 상태로 변경하고 실행 중단 원인을 프로세스 실행 제어에 의함으로 프로세스 제어 블럭에 기록하고 종료하는 제 3 부단계로 구성된 것을 특징으로 하는 교차 디버깅 서버에서의 프로세스 실행제어 서비스 실현방법.
  4. 제 3 항에 있어서, 상기 제 2부단계는
    프로세스가 실행재개 되었을 때 커널내 시작 지점에서 다시 시작할 수 있도록하기위해 프로그램 카운터를 상기 시작 지점에 있는 명령어를 가리키도록 하고, 스택 포인터, 프레임 포인터를 상기 시작 시점에 해당되는 프레임을 가리키도록 조정한 다음 커널내 시스템 콜 시작 지점 프로시쥬어가 사용하는 입력 파라메타들을 스택 프레임에서 찾아 파라메타 전달용 레지스터에 재로딩하는 것을 특징으로 하는 교차 디버깅 서버에서의 프로세스 실행제어 서비스 실현방법.
  5. 제 2 항에 있어서, 상기 제 2 단계는
    프로세스의 실행중단된 시점에 저장해 놓은 프로세스 상태 관련 정보를 조회하여 프로세스가 실행중단된 원인을 조사하여 그 원인별로 프로세스의 상태를 재지정하는 제 1부단계와;
    제 1 부단계 수행 후 프로세스 제어블럭에 저장해 놓은 콘텍스트 스위치에 필요한 정보를 해당 레지스터에 재로딩 한 다음 프로세스가 다시 스케쥴링될 수 있도록 프로세스 준비큐에 넣는 제 2 부단계로 구성된 것을 특징으로 하는 교차디버깅 서버에서의 프로세스 실행제어 서비스 실현방법.
  6. 제 5 항에 있어서, 상기 제 1 부단계는
    프로세스가 중단된 원인을 조사한 결과 정지점에 의해 프로세스가 실행 중단된 상태라면 정지점 명령어를 계속 유지할 것인가를 결정하고, 스테핑(stepping)에 의해 실행 중단된 상태라면, 실행재개 하였을 경우에도 계속 스테핑을 할 수 있도록 준비하는 것을 특징으로 하는 교차디버깅 서버에서의 프로세스 실행제어 서비스 실현방법.
KR1019970069487A 1997-12-17 1997-12-17 교차디버깅서버에서프로세스실행제어서비스실현방법 KR100289039B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970069487A KR100289039B1 (ko) 1997-12-17 1997-12-17 교차디버깅서버에서프로세스실행제어서비스실현방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970069487A KR100289039B1 (ko) 1997-12-17 1997-12-17 교차디버깅서버에서프로세스실행제어서비스실현방법

Publications (2)

Publication Number Publication Date
KR19990050368A KR19990050368A (ko) 1999-07-05
KR100289039B1 true KR100289039B1 (ko) 2001-05-02

Family

ID=37517589

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970069487A KR100289039B1 (ko) 1997-12-17 1997-12-17 교차디버깅서버에서프로세스실행제어서비스실현방법

Country Status (1)

Country Link
KR (1) KR100289039B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020049789A (ko) * 2000-12-20 2002-06-26 오길록 파워피시 마이크로프로세서에서 실행되는 병행 프로그램디버깅을 위한 스태핑 제어방법

Also Published As

Publication number Publication date
KR19990050368A (ko) 1999-07-05

Similar Documents

Publication Publication Date Title
US5630049A (en) Method and apparatus for testing software on a computer network
US5805892A (en) Method of and apparatus for debugging multitask programs
US6892261B2 (en) Multiple operating system control method
JP2986056B2 (ja) 異なるアドレス空間にわたってスレッド事象を処理する方法
JP2698049B2 (ja) 多重処理サーバにおけるモニタ装置及び動作方法
US6324684B1 (en) Processor having real-time execution control for debug functions without a debug monitor
US5884022A (en) Method and apparatus for controlling server activation in a multi-threaded environment
US20100199288A1 (en) Multi-Tasking Real-Time Operating System for Microprocessors with Limited Memory
EP1769337A1 (en) System and method for implementing a general application program interface
US20050010678A1 (en) Methods utilizing a debugging proxy
CN110795254A (zh) 一种基于php处理高并发io的方法
US10523746B2 (en) Coexistence of a synchronous architecture and an asynchronous architecture in a server
EP0614139A2 (en) External procedure call for distributed processing environment
KR100289039B1 (ko) 교차디버깅서버에서프로세스실행제어서비스실현방법
US6820153B2 (en) Interrupt processing and memory management method in an operation processing device and a device using the same
US20040003019A1 (en) Process management for real time systems management controller
JPH0793182A (ja) プログラムトレース方法
Wu et al. On-line avoidance of the intrusive effects of monitoring on runtime scheduling decisions
JPH064318A (ja) エラー検出方式
JPH086819A (ja) デバイスドライバプログラムのテスト装置およびその方法
KR100258084B1 (ko) 프로시듀어 강제 호출 서비스 실현 방법
KR100194800B1 (ko) 접속 관리자를 이용한 다수의 칠 프로그램 교차 디버깅방법
JPH06161817A (ja) スレッドオンラインデバッグ装置
JP2003337711A (ja) 情報処理装置および方法
JP2504833B2 (ja) 処理実行管理方式

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee