KR0175469B1 - 칠프로그램 변수의 가시성 제어방법 - Google Patents

칠프로그램 변수의 가시성 제어방법 Download PDF

Info

Publication number
KR0175469B1
KR0175469B1 KR1019950052155A KR19950052155A KR0175469B1 KR 0175469 B1 KR0175469 B1 KR 0175469B1 KR 1019950052155 A KR1019950052155 A KR 1019950052155A KR 19950052155 A KR19950052155 A KR 19950052155A KR 0175469 B1 KR0175469 B1 KR 0175469B1
Authority
KR
South Korea
Prior art keywords
variable
information
visibility
chill
block
Prior art date
Application number
KR1019950052155A
Other languages
English (en)
Other versions
KR970049485A (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 KR1019950052155A priority Critical patent/KR0175469B1/ko
Publication of KR970049485A publication Critical patent/KR970049485A/ko
Application granted granted Critical
Publication of KR0175469B1 publication Critical patent/KR0175469B1/ko

Links

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
    • G06F11/3628Software debugging of optimised code
    • 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
    • G06F11/3636Software debugging by tracing the execution of the program

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)
  • Stored Programmes (AREA)

Abstract

본 발명은 칠(CHILL) 프로그램 디버깅시 발생하는 칠(CHILL) 프로그램 변수의 가시성을 제어하는 방법에 관한 것으로, 칠(CHILL) 프로그램 변수들의 가시성을 제어하여 칠(CHILL) 프로그램 디버깅시 변수들의 값을 효율적으로 추적 및 변경할 수 있는 칠(CHILL) 프로그램 변수의 가시성 제어 방법을 제공하기 위하여, 모든 변수 정보에 대하여 칠(CHILL) 실행 프로그램으로부터 칠(CHILL) 프로그램 변수 및 가시성 제어 블럭에 대한 정보를 읽어 변수 정보를 분석하여 분석된 정보에 따라 가시성 제어 블럭을 작성하여 디버거 자료 구조에 등록하거나 선언된 변수를 해당 블럭에 등록하는 과정을 반복 수행하는 제1단계; 작성된 각 실행 블럭들의 시작 주소와 끝 주소를 결정하여 해당 블럭에 등록하고 블럭들간의 연관 관계에 따라 디버거 내부 자료 구조를 재구성하는 제2단계; 및 작성된 디버거 자료 구조와 수행중인 실행 코드의 주소를 이용하여 프로그램내에서 디버깅시 선언된 변수들의 가시성을 제어하는 제3단계를 포함하여 다른 모듈에서 같은 이름으로 선언된 칠(CHILL) 변수를 참조할때 발생하는 변수의 검색 오류를 사전에 예방하고, 원하는 변수의 값 및 모드 정보등을 효율적으로 추적 및 변경할 수 있는 효과가 있다.

Description

칠(CHILL) 프로그램 변수의 가시성 제어 방법
제1도는 본 발명이 적용되는 하드웨어의 구성도.
제2도는 본 발명에 따른 칠(CHILL) 프로그램 변수의 가시성 제어 방법에 대한 일실시예 전체 흐름도.
제3도는 본 발명에 따른 디버거에 내부 자료구조를 이용하여 프로그램내에 선언된 변수의 가시성을 제어하는 방법에 대한 일실시예 상세 흐름도.
* 도면의 주요부분에 대한 부호의 설명
101 : 메인 메모리 보드 102 : 중앙 처리 보드
103 : 범용 운영 체계 104 : 보조 기억 장치
105 : 입/출력 장치 106 : 시스템 버스
본 발명은 칠(CHILL) 프로그램 디버깅시 발생하는 칠(CHILL) 프로그램 변수의 가시성 제어하는 방법에 관한 것이다.
칠(CHILL) 프로그램을 디버깅하기 위하여 칠(CHILL) 프로그램 변수의 가시성을 제어하는 방법이 새롭게 요구되고 있다.
따라서, 본 발명은 칠(CHILL) 프로그램 변수들의 가시성을 제어하여 칠(CHILL) 프로그램 디버깅시 변수들의 값을 효율적으로 추적 및 변경할 수 있는 칠(CHILL) 프로그램 변수의 가시성 제어 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위하여 본 발명은, 칠(CHILL) 프로그램 변수의 가시성 제어 장치에 적용되는 칠(CHILL) 프로그램 변수의 가시성 제어 방법에 있어서, 모든 변수 정보에 대하여 칠(CHILL) 실행 프로그램으로부터 칠(CHILL) 프로그램 변수 및 가시성 제어 블럭에 대한 정보를 읽어 변수 정보를 분석하여 분석된 정보에 따라 가시성 제어 블럭을 작성하여 디버거 자료 구조에 등록하거나 선언된 변수를 해당 블럭에 등록하는 과정을 반복 수행하는 제1단계; 작성된 각 실행 블럭들의 시작 주소와 끝 주소를 결정하여 해당 블럭에 등록하고 블럭들간의 연관 관계에 따라 디버거 내부 자료 구조를 재구성하는 제2단계; 및 작성된 디버거 자료 구조와 수행중인 실행 코드의 주소를 이용하여 프로그램내에서 디버깅시 선언된 변수들의 가시성을 제어하는 제3단계를 포함하여 이루어진 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 일실시예를 상세히 설명한다.
제1도는 본 발명이 적용되는 하드웨어의 구성도로서, 101은 메인 메모리 보드, 102는 중앙 처리 보드, 103은 범용 운영 체계, 104는 보조 기억 장치, 105는 입/출력 장치, 106은 시스템 버스를 각각 나타낸다.
도면에 도시된 각 블럭들의 기능을 살펴보면, 시스템의 메인 메모리 보드(101)는 가시성 제어 블럭과 변수 정보들이 포함된 칠(CHILL) 실행 화일 및 칠(CHILL) 디버거가 탑재되는 보드이고, 중앙 처리 보드(102)는 메인 메모리 보드(101)에 탑재된 화일을 실행시키는 보드이다.
그리고, 보조 기억 장치(104)는 시스템에서 사용하는 화일 및 데이타 등을 저장하는 장치로 메인 메모리 보드(101)에 탑재되지 않은 화일과 도구들을 저장한다.
입/출력 장치(105)는 디버깅중 가시성 제어의 결과 및 수행중에 발생되는 모든 오류 메세지를 입/출력하는 장치이다. 범용 운영 체계(103)는 상기 각 보드 및 장치를 제어하며, 각 보드 및 장치간에 주고 받는 메세지는 시스템 버스(106)를 통하여 이루어진다.
제2도는 본 발명에 따른 칠(CHILL) 프로그램 변수의 가시성 제어 방법에 대한 일실시예 전체 흐름도이다.
먼저, 칠(CHILL) 실행 프로그램으로부터 칠(CHILL) 프로그램 변수 및 가시성 제어 블럭에 대한 정보를 추출하여 읽은 후에(201) 변수 정보를 분석하여(202) 분석한 정보가 가시성 제어 블럭과 관련된 정보인지를 판단한다(203).
판단 결과, 가시성 제어 블럭과 관련된 정보인 경우에는 가시성 제어 블럭을 처리하기 위한 블럭 구조를 작성하여(204) 작성된 블럭 구조를 디버거 자료 구조에 등록하고(206), 분석된 정보가 변수나 데이타 모드에 관련된 정보인 경우에는 변수 및 데이타 모드의 정보를 해당 블럭에 등록한다.(205)
이후, 칠(CHILL) 프로그램 변수 정보 처리가 완료되었는지 판단하여(207) 칠(CHILL) 프로그램 변수 정보 처리가 완료될까지 반복 수행한다.
칠(CHILL) 프로그램 변수 정보 처리가 완료되면, 작성된 각 실행 블럭들의 시작 주소와 끝 주소의 값을 결정하여 해당 블럭에 등록하고(208) 블럭들간의 연관 관계에 따라 디버거 내부 자료 구조를 재구성하여(209) 작성된 디버거 자료 구조와 수행중인 실행 코드의 주소를 이용하여 프로그램내에서 디버깅시 선언된 변수들의 가시성을 제어한다(210).
제3도는 본 발명에 따른 디버거의 내부 자료구조를 이용하여 프로그램내에 선언된 변수의 가시성을 제어하는 방법에 대한 일실시예 상세 흐름도이다.
프로그래머가 임의의 프로그램 소스라인에서 선언된 변수의 값이나 데이타 모드를 참조하는 명령어를 실행시키면, 칠(CHILL) 디버거는 현재 수행되는 실행 코드의 실행 주소를 확인하고(301), 확인된 실행 코드의 주소를 포함하는블럭을 검색한다(302).
검색된 해당 블럭에서 참조하고자 하는 변수를 검색하여(303), 검색이 성공하면(304) 디버깅 명령어의 종류에 따라 검색된 변수의 값이나 데이타 모드 정보를 디스플레이하고(305) 종료하며, 검색이 실패하면(304) 해당 블럭의 상위 블럭이 존재하는지를 확인한다(306).
확인 결과, 상위 블럭이 존재하는 경우에는 상위 블럭을 해당 블럭으로 변경하여(307), 참조하고자 하는 변수를 상위 블럭에서 검색한다(303). 상위 블럭이 존재하지 않는 경우에는 해당 변수가 존재하지 않음이라는 메세지를 출력하고 검색을 종료한다(308).
상기와 같은 본 발명은 칠(CHILL) 프로그램 모듈내에서 선언된 변수의 가시성을 제어하므로써, 다른 모듈에서 같은 이름으로 선언된 칠(CHILL) 변수를 참조할때 발생하는 변수의 검색 오류를 사전에 예방하고, 원하는 변수의 값 및 모드 정보 등을 효율적으로 추적 및 변경할 수 있는 효과가 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.

Claims (3)

  1. 칠(CHILL) 프로그램 변수의 가시성 제어 장치에 적용되는 칠(CHILL) 프로그램 변수의 가시성 제어 방법에 있어서, 모든 변수 정보에 대하여 칠(CHILL) 실행 프로그램으로부터 칠(CHILL) 프로그램 변수 및 가시성 제어 블럭에 대한 정보를 읽어 변수 정보를 분석하여 분석된 정보에 따라 가시성 제어 블럭을 작성하여 디버거 자료 구조에 등록하거나 선언된 변수를 해당 블럭에 등록하는 과정을 반복 수행하는 제1단계; 작성된 각 실행 블럭들의 시작 주소와 끝 주소를 결정하여 해당 블럭에 등록하고 블럭들간의 연관 관계에 따라 디버거 내부 자료 구조를 재구성하는 제2단계; 및 작성된 디버거 자료 구조와 수행중인 실행 코드의 주소를 이용하여 프로그램내에서 디버깅시 선언된 변수들의 가시성을 제어하는 제3단계를 포함하여 이루어진 칠(CHILL) 프로그램 변수의 가시성 제어 방법.
  2. 제1항에 있어서, 상기 제1단계는, 칠(CHILL) 실행 프로그램으로부터 칠(CHILL) 프로그램 변수 및 가시성 제어 블럭에 대한 정보를 추출하여 읽은 후에 변수 정보를 분석하여 분석한 변수 정보가 가시성 제어 블럭과 관련된 정보인지를 판단하는 4단계; 상기 제4단계의 판단 결과, 분석한 변수 정부가 가시성 제어 블럭과 관련된 정보인 경우에는 가시성 제어 블럭을 처리하기 위한 블럭 구조를 작성하여 작성된 블럭 구조를 디버거 자료 구조에 등록하는 제5단계; 및 상기 제4단계의 판단 결과, 분석된 변수 정보가 변수나 데이타 모드에 관련된 정보인 경우에는 변수 및 데이타 모드의 정보를 해당 블럭에 등록하는 제6단계; 및 모든 변수 정보에 대하여 상기 제4단계부터 반복 수행하는 제7단계를 포함하여 이루어진 칠(CHILL) 프로그램 변수의 가시성 제어 방법.
  3. 제1항 또는 제2항에 있어서, 상기 제3단계는, 현재 수행되는 실행 코드의 실행 주소를 확인하여 확인된 실행 코드의 주소를 포함하는 블럭을 검색하는 제8단계; 검색된 해당 블럭에서 참조하고자 하는 변수를 검색하여 검색이 성공인지를 판단하는 제9단계; 상기 제9단계의 판단 결과, 검색 성공이면 디버깅 명령어의 종류에 따라 검색된 변수의 값이나 데이타 모드 정보를 디스플레이하는 제10단계; 및 상기 제9단계의 판단 결과, 검색 실패이면 해당 블럭의 상위 블럭이 존재하는지를 확인하여 상위 블럭이 존재하는 경우에는 상위 블럭을 해당 블럭으로 변경한 후에 상기 제9단계부터 반복 수행하고, 상위 블럭이 존재하지 않는 경우에는 해당 변수가 존재하지 않는다는 내용의 메세지를 출력하는 제11단계를 포함하여 이루어진 칠(CHILL) 프로그램 변수의 가시성 제어 방법.
KR1019950052155A 1995-12-19 1995-12-19 칠프로그램 변수의 가시성 제어방법 KR0175469B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950052155A KR0175469B1 (ko) 1995-12-19 1995-12-19 칠프로그램 변수의 가시성 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950052155A KR0175469B1 (ko) 1995-12-19 1995-12-19 칠프로그램 변수의 가시성 제어방법

Publications (2)

Publication Number Publication Date
KR970049485A KR970049485A (ko) 1997-07-29
KR0175469B1 true KR0175469B1 (ko) 1999-04-01

Family

ID=19441510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950052155A KR0175469B1 (ko) 1995-12-19 1995-12-19 칠프로그램 변수의 가시성 제어방법

Country Status (1)

Country Link
KR (1) KR0175469B1 (ko)

Also Published As

Publication number Publication date
KR970049485A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
JPH08272648A (ja) デバッグコマンドファイルを自動的に生成する方法、およびデバッグコマンドファイルにおいてブレークポイントを自動的に再生成する装置
JP2004164554A (ja) プログラム実行監視装置および方法
JP2002532804A (ja) ハイブリッドコンピュータプログラミング環境
KR0125605B1 (ko) 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치
KR0175469B1 (ko) 칠프로그램 변수의 가시성 제어방법
US6983454B2 (en) Extended “run to” function
US20030018957A1 (en) Debugger monitor with anticipatory highlights
WO2024069730A1 (ja) デバッグ装置及びデバッグ方法
JPH05108404A (ja) デバツガシステム
JPH02220145A (ja) プログラムトレース方式
JP2659366B2 (ja) デバッグ方法及びその装置
KR0121767B1 (ko) 병행 칠(chill) 프로그램 디버깅 방법
JP3368795B2 (ja) コンパイル制御方法、コンパイル装置及び記録媒体
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
JPH04367946A (ja) デバッグ情報出力方式
KR100216533B1 (ko) 병행 chill 프로그램의 결정적 재실행을 위한 사건 이력 기록 방법
JP3012618B1 (ja) 被検査プログラムのデバグ方法とそのデバグ方式
JP2001222447A (ja) 実動作環境下のデバッグ方法及びデバッグ対象装置
JPH06242943A (ja) ソースコードレベルデバッグ装置
JPS61156339A (ja) トレ−ス処理方式
JPH0223433A (ja) プログラムのデバッグ方式
JPH05108372A (ja) コンパイラ最適化処理内容の出力方式
JPH06242942A (ja) ソースコードレベルデバッグ装置
JPH04217034A (ja) プログラムトレースの表示方式
JPH07191873A (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: 20041101

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee