KR0175469B1 - How to control the visibility of fill program variables - Google Patents

How to control the visibility of fill program variables 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
Korean (ko)
Other versions
KR970049485A (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 KR1019950052155A priority Critical patent/KR0175469B1/en
Publication of KR970049485A publication Critical patent/KR970049485A/en
Application granted granted Critical
Publication of KR0175469B1 publication Critical patent/KR0175469B1/en

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

Abstract

본 발명은 칠(CHILL) 프로그램 디버깅시 발생하는 칠(CHILL) 프로그램 변수의 가시성을 제어하는 방법에 관한 것으로, 칠(CHILL) 프로그램 변수들의 가시성을 제어하여 칠(CHILL) 프로그램 디버깅시 변수들의 값을 효율적으로 추적 및 변경할 수 있는 칠(CHILL) 프로그램 변수의 가시성 제어 방법을 제공하기 위하여, 모든 변수 정보에 대하여 칠(CHILL) 실행 프로그램으로부터 칠(CHILL) 프로그램 변수 및 가시성 제어 블럭에 대한 정보를 읽어 변수 정보를 분석하여 분석된 정보에 따라 가시성 제어 블럭을 작성하여 디버거 자료 구조에 등록하거나 선언된 변수를 해당 블럭에 등록하는 과정을 반복 수행하는 제1단계; 작성된 각 실행 블럭들의 시작 주소와 끝 주소를 결정하여 해당 블럭에 등록하고 블럭들간의 연관 관계에 따라 디버거 내부 자료 구조를 재구성하는 제2단계; 및 작성된 디버거 자료 구조와 수행중인 실행 코드의 주소를 이용하여 프로그램내에서 디버깅시 선언된 변수들의 가시성을 제어하는 제3단계를 포함하여 다른 모듈에서 같은 이름으로 선언된 칠(CHILL) 변수를 참조할때 발생하는 변수의 검색 오류를 사전에 예방하고, 원하는 변수의 값 및 모드 정보등을 효율적으로 추적 및 변경할 수 있는 효과가 있다.The present invention relates to a method of controlling the visibility of CHILL program variables that occur during CHILL program debugging. The present invention relates to controlling the visibility of CHILL program variables to control the visibility of CHILL program variables. To provide visibility control method of CHILL variable that can be efficiently tracked and changed, read CHILL program variable and visibility control block from CHILL program for all variable information A first step of repeatedly analyzing the information and creating a visibility control block according to the analyzed information to register in the debugger data structure or register the declared variable in the corresponding block; Determining a start address and an end address of each of the created execution blocks, registering them in the corresponding blocks, and reconstructing the debugger internal data structure according to the association relationship between the blocks; And refer to the CHILL variable declared with the same name in another module, including the third step of controlling the visibility of the variables declared at debugging time in the program using the created debugger data structure and the address of the executing code. It is effective to prevent the error of searching for variables in advance, and to efficiently track and change the values and mode information of the desired variables.

Description

칠(CHILL) 프로그램 변수의 가시성 제어 방법How to control the visibility of CHILL program variables

제1도는 본 발명이 적용되는 하드웨어의 구성도.1 is a block diagram of hardware to which the present invention is applied.

제2도는 본 발명에 따른 칠(CHILL) 프로그램 변수의 가시성 제어 방법에 대한 일실시예 전체 흐름도.2 is a flowchart of one embodiment of a method for controlling visibility of CHILL program variables according to the present invention.

제3도는 본 발명에 따른 디버거에 내부 자료구조를 이용하여 프로그램내에 선언된 변수의 가시성을 제어하는 방법에 대한 일실시예 상세 흐름도.3 is a detailed flowchart of an embodiment of a method for controlling the visibility of variables declared in a program using an internal data structure in a debugger according to the present invention.

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

101 : 메인 메모리 보드 102 : 중앙 처리 보드101: main memory board 102: central processing board

103 : 범용 운영 체계 104 : 보조 기억 장치103: general purpose operating system 104: auxiliary storage device

105 : 입/출력 장치 106 : 시스템 버스105: input / output device 106: system bus

본 발명은 칠(CHILL) 프로그램 디버깅시 발생하는 칠(CHILL) 프로그램 변수의 가시성 제어하는 방법에 관한 것이다.The present invention relates to a method of controlling the visibility of CHILL program variables that occur during CHILL program debugging.

칠(CHILL) 프로그램을 디버깅하기 위하여 칠(CHILL) 프로그램 변수의 가시성을 제어하는 방법이 새롭게 요구되고 있다.There is a new need for controlling the visibility of CHILL program variables to debug CHILL programs.

따라서, 본 발명은 칠(CHILL) 프로그램 변수들의 가시성을 제어하여 칠(CHILL) 프로그램 디버깅시 변수들의 값을 효율적으로 추적 및 변경할 수 있는 칠(CHILL) 프로그램 변수의 가시성 제어 방법을 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide a method of controlling visibility of CHILL program variables that can efficiently track and change the values of CHILL program variables when debugging the CHILL program by controlling the visibility of CHILL program variables. have.

상기 목적을 달성하기 위하여 본 발명은, 칠(CHILL) 프로그램 변수의 가시성 제어 장치에 적용되는 칠(CHILL) 프로그램 변수의 가시성 제어 방법에 있어서, 모든 변수 정보에 대하여 칠(CHILL) 실행 프로그램으로부터 칠(CHILL) 프로그램 변수 및 가시성 제어 블럭에 대한 정보를 읽어 변수 정보를 분석하여 분석된 정보에 따라 가시성 제어 블럭을 작성하여 디버거 자료 구조에 등록하거나 선언된 변수를 해당 블럭에 등록하는 과정을 반복 수행하는 제1단계; 작성된 각 실행 블럭들의 시작 주소와 끝 주소를 결정하여 해당 블럭에 등록하고 블럭들간의 연관 관계에 따라 디버거 내부 자료 구조를 재구성하는 제2단계; 및 작성된 디버거 자료 구조와 수행중인 실행 코드의 주소를 이용하여 프로그램내에서 디버깅시 선언된 변수들의 가시성을 제어하는 제3단계를 포함하여 이루어진 것을 특징으로 한다.In order to achieve the above object, the present invention, in the visibility control method of the CHILL program variable applied to the visibility control device of the CHILL program variable, for all the variable information from the CHILL running program ( CHILL) Reads information about program variables and visibility control blocks, analyzes variable information, creates visibility control blocks according to the analyzed information, and registers them in the debugger data structure or registers declared variables in the corresponding blocks. Stage 1; Determining a start address and an end address of each of the created execution blocks, registering them in the corresponding blocks, and reconstructing the debugger internal data structure according to the association relationship between the blocks; And a third step of controlling the visibility of variables declared during debugging in the program by using the created debugger data structure and the address of the executing code.

이하, 첨부된 도면을 참조하여 본 발명에 따른 일실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment according to the present invention;

제1도는 본 발명이 적용되는 하드웨어의 구성도로서, 101은 메인 메모리 보드, 102는 중앙 처리 보드, 103은 범용 운영 체계, 104는 보조 기억 장치, 105는 입/출력 장치, 106은 시스템 버스를 각각 나타낸다.1 is a configuration diagram of hardware to which the present invention is applied, where 101 is a main memory board, 102 is a central processing board, 103 is a general-purpose operating system, 104 is an auxiliary memory device, 105 is an input / output device, 106 is a system bus. Represent each.

도면에 도시된 각 블럭들의 기능을 살펴보면, 시스템의 메인 메모리 보드(101)는 가시성 제어 블럭과 변수 정보들이 포함된 칠(CHILL) 실행 화일 및 칠(CHILL) 디버거가 탑재되는 보드이고, 중앙 처리 보드(102)는 메인 메모리 보드(101)에 탑재된 화일을 실행시키는 보드이다.Referring to the functions of the blocks shown in the drawing, the main memory board 101 of the system is a board on which a CHILL executable file and a CHILL debugger including visibility control blocks and variable information are mounted, and a central processing board. Reference numeral 102 denotes a board for executing a file mounted on the main memory board 101.

그리고, 보조 기억 장치(104)는 시스템에서 사용하는 화일 및 데이타 등을 저장하는 장치로 메인 메모리 보드(101)에 탑재되지 않은 화일과 도구들을 저장한다.The auxiliary memory device 104 is a device for storing files and data used in the system, and stores files and tools not mounted on the main memory board 101.

입/출력 장치(105)는 디버깅중 가시성 제어의 결과 및 수행중에 발생되는 모든 오류 메세지를 입/출력하는 장치이다. 범용 운영 체계(103)는 상기 각 보드 및 장치를 제어하며, 각 보드 및 장치간에 주고 받는 메세지는 시스템 버스(106)를 통하여 이루어진다.The input / output device 105 is a device for inputting / outputting the result of visibility control during debugging and all error messages generated during execution. The universal operating system 103 controls each of the boards and devices, and messages sent and received between each board and device are made through the system bus 106.

제2도는 본 발명에 따른 칠(CHILL) 프로그램 변수의 가시성 제어 방법에 대한 일실시예 전체 흐름도이다.2 is a flowchart illustrating an embodiment of a method for controlling visibility of CHILL program variables according to the present invention.

먼저, 칠(CHILL) 실행 프로그램으로부터 칠(CHILL) 프로그램 변수 및 가시성 제어 블럭에 대한 정보를 추출하여 읽은 후에(201) 변수 정보를 분석하여(202) 분석한 정보가 가시성 제어 블럭과 관련된 정보인지를 판단한다(203).First, after extracting and reading information on CHILL variable and visibility control block from CHILL execution program (201) and analyzing the variable information (202), it is determined whether the analyzed information is related to the visibility control block. Determination (203).

판단 결과, 가시성 제어 블럭과 관련된 정보인 경우에는 가시성 제어 블럭을 처리하기 위한 블럭 구조를 작성하여(204) 작성된 블럭 구조를 디버거 자료 구조에 등록하고(206), 분석된 정보가 변수나 데이타 모드에 관련된 정보인 경우에는 변수 및 데이타 모드의 정보를 해당 블럭에 등록한다.(205)As a result of determination, in the case of information related to the visibility control block, a block structure for processing the visibility control block is created (204), and the created block structure is registered in the debugger data structure (206), and the analyzed information is stored in a variable or data mode. In the case of related information, the variable and data mode information are registered in the corresponding block.

이후, 칠(CHILL) 프로그램 변수 정보 처리가 완료되었는지 판단하여(207) 칠(CHILL) 프로그램 변수 정보 처리가 완료될까지 반복 수행한다.Thereafter, it is determined whether the chill program variable information processing is completed (207), and the process is repeatedly performed until the chill program variable information processing is completed.

칠(CHILL) 프로그램 변수 정보 처리가 완료되면, 작성된 각 실행 블럭들의 시작 주소와 끝 주소의 값을 결정하여 해당 블럭에 등록하고(208) 블럭들간의 연관 관계에 따라 디버거 내부 자료 구조를 재구성하여(209) 작성된 디버거 자료 구조와 수행중인 실행 코드의 주소를 이용하여 프로그램내에서 디버깅시 선언된 변수들의 가시성을 제어한다(210).After the CHILL program variable information processing is completed, the start address and the end address of each created execution block are determined and registered in the corresponding block (208), and the debugger internal data structure is reconstructed according to the association between the blocks (208). 209) Control the visibility of the variables declared during debugging in the program using the created debugger data structure and the address of the executing code (210).

제3도는 본 발명에 따른 디버거의 내부 자료구조를 이용하여 프로그램내에 선언된 변수의 가시성을 제어하는 방법에 대한 일실시예 상세 흐름도이다.3 is a detailed flowchart of an embodiment of a method of controlling visibility of a variable declared in a program using an internal data structure of a debugger according to the present invention.

프로그래머가 임의의 프로그램 소스라인에서 선언된 변수의 값이나 데이타 모드를 참조하는 명령어를 실행시키면, 칠(CHILL) 디버거는 현재 수행되는 실행 코드의 실행 주소를 확인하고(301), 확인된 실행 코드의 주소를 포함하는블럭을 검색한다(302).When a programmer executes an instruction that references the value or data mode of a variable declared in any program source line, the CHILL debugger verifies the execution address of the currently executing executable code (301), The block containing the address is retrieved (302).

검색된 해당 블럭에서 참조하고자 하는 변수를 검색하여(303), 검색이 성공하면(304) 디버깅 명령어의 종류에 따라 검색된 변수의 값이나 데이타 모드 정보를 디스플레이하고(305) 종료하며, 검색이 실패하면(304) 해당 블럭의 상위 블럭이 존재하는지를 확인한다(306).Search for the variable to be referred to in the searched block (303), if the search is successful (304), display the value or data mode information of the searched variable according to the type of debugging command (305), and if the search fails ( 304 It is checked whether the upper block of the block exists (306).

확인 결과, 상위 블럭이 존재하는 경우에는 상위 블럭을 해당 블럭으로 변경하여(307), 참조하고자 하는 변수를 상위 블럭에서 검색한다(303). 상위 블럭이 존재하지 않는 경우에는 해당 변수가 존재하지 않음이라는 메세지를 출력하고 검색을 종료한다(308).As a result of the check, if the upper block exists, the upper block is changed to the corresponding block (307), and the variable to be referred to is searched in the upper block (303). If the upper block does not exist, a message indicating that the corresponding variable does not exist is terminated (308).

상기와 같은 본 발명은 칠(CHILL) 프로그램 모듈내에서 선언된 변수의 가시성을 제어하므로써, 다른 모듈에서 같은 이름으로 선언된 칠(CHILL) 변수를 참조할때 발생하는 변수의 검색 오류를 사전에 예방하고, 원하는 변수의 값 및 모드 정보 등을 효율적으로 추적 및 변경할 수 있는 효과가 있다.As described above, the present invention controls visibility of a variable declared in a CHILL program module, thereby preventing a search error of a variable that occurs when referring to a CHILL variable declared with the same name in another module. In addition, there is an effect that can efficiently track and change the value and mode information of the desired variable.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiment and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be evident to those who have knowledge of.

Claims (3)

칠(CHILL) 프로그램 변수의 가시성 제어 장치에 적용되는 칠(CHILL) 프로그램 변수의 가시성 제어 방법에 있어서, 모든 변수 정보에 대하여 칠(CHILL) 실행 프로그램으로부터 칠(CHILL) 프로그램 변수 및 가시성 제어 블럭에 대한 정보를 읽어 변수 정보를 분석하여 분석된 정보에 따라 가시성 제어 블럭을 작성하여 디버거 자료 구조에 등록하거나 선언된 변수를 해당 블럭에 등록하는 과정을 반복 수행하는 제1단계; 작성된 각 실행 블럭들의 시작 주소와 끝 주소를 결정하여 해당 블럭에 등록하고 블럭들간의 연관 관계에 따라 디버거 내부 자료 구조를 재구성하는 제2단계; 및 작성된 디버거 자료 구조와 수행중인 실행 코드의 주소를 이용하여 프로그램내에서 디버깅시 선언된 변수들의 가시성을 제어하는 제3단계를 포함하여 이루어진 칠(CHILL) 프로그램 변수의 가시성 제어 방법.In the visibility control method of a CHILL program variable, which is applied to a visibility control device of a CHILL program variable, the CHILL program variable and a visibility control block for the CHILL program are executed for all variable information. A first step of repeating the process of reading the information and analyzing the variable information to create a visibility control block according to the analyzed information and registering it in the debugger data structure or registering the declared variable in the corresponding block; Determining a start address and an end address of each of the created execution blocks, registering them in the corresponding blocks, and reconstructing the debugger internal data structure according to the association relationship between the blocks; And a third step of controlling visibility of variables declared at debugging time in the program by using the created debugger data structure and the address of execution code being executed. 제1항에 있어서, 상기 제1단계는, 칠(CHILL) 실행 프로그램으로부터 칠(CHILL) 프로그램 변수 및 가시성 제어 블럭에 대한 정보를 추출하여 읽은 후에 변수 정보를 분석하여 분석한 변수 정보가 가시성 제어 블럭과 관련된 정보인지를 판단하는 4단계; 상기 제4단계의 판단 결과, 분석한 변수 정부가 가시성 제어 블럭과 관련된 정보인 경우에는 가시성 제어 블럭을 처리하기 위한 블럭 구조를 작성하여 작성된 블럭 구조를 디버거 자료 구조에 등록하는 제5단계; 및 상기 제4단계의 판단 결과, 분석된 변수 정보가 변수나 데이타 모드에 관련된 정보인 경우에는 변수 및 데이타 모드의 정보를 해당 블럭에 등록하는 제6단계; 및 모든 변수 정보에 대하여 상기 제4단계부터 반복 수행하는 제7단계를 포함하여 이루어진 칠(CHILL) 프로그램 변수의 가시성 제어 방법.According to claim 1, wherein the first step, after extracting and reading the information on the CHILL program variable and the visibility control block from the CHILL execution program, the variable information analyzed by analyzing the variable information is the visibility control block Determining whether the information is related to the fourth step; A fifth step of creating a block structure for processing the visibility control block and registering the created block structure in the debugger data structure if the analyzed variable government is information related to the visibility control block as a result of the determination in the fourth step; And a sixth step of registering the variable and data mode information in a corresponding block when the analyzed variable information is information related to the variable or data mode. And a seventh step of repeatedly performing the fourth step with respect to all the variable information. 제1항 또는 제2항에 있어서, 상기 제3단계는, 현재 수행되는 실행 코드의 실행 주소를 확인하여 확인된 실행 코드의 주소를 포함하는 블럭을 검색하는 제8단계; 검색된 해당 블럭에서 참조하고자 하는 변수를 검색하여 검색이 성공인지를 판단하는 제9단계; 상기 제9단계의 판단 결과, 검색 성공이면 디버깅 명령어의 종류에 따라 검색된 변수의 값이나 데이타 모드 정보를 디스플레이하는 제10단계; 및 상기 제9단계의 판단 결과, 검색 실패이면 해당 블럭의 상위 블럭이 존재하는지를 확인하여 상위 블럭이 존재하는 경우에는 상위 블럭을 해당 블럭으로 변경한 후에 상기 제9단계부터 반복 수행하고, 상위 블럭이 존재하지 않는 경우에는 해당 변수가 존재하지 않는다는 내용의 메세지를 출력하는 제11단계를 포함하여 이루어진 칠(CHILL) 프로그램 변수의 가시성 제어 방법.The method of claim 1 or 2, wherein the third step comprises: an eighth step of searching for a block including the address of the confirmed execution code by checking the execution address of the currently executed execution code; A ninth step of determining whether the search is successful by searching for a variable to be referred to in the found block; A tenth step of displaying a value of a found variable or data mode information according to the type of debugging command if the search is successful as a result of the determination in the ninth step; As a result of the determination of the ninth step, if the search fails, the controller determines whether the upper block of the block exists. If the upper block exists, the upper block is changed to the corresponding block, and then repeated from the ninth step. If it does not exist, the visibility control method of the CHILL program variable comprising the eleventh step of outputting a message indicating that the variable does not exist.
KR1019950052155A 1995-12-19 1995-12-19 How to control the visibility of fill program variables KR0175469B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950052155A KR0175469B1 (en) 1995-12-19 1995-12-19 How to control the visibility of fill program variables

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950052155A KR0175469B1 (en) 1995-12-19 1995-12-19 How to control the visibility of fill program variables

Publications (2)

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

Family

ID=19441510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950052155A KR0175469B1 (en) 1995-12-19 1995-12-19 How to control the visibility of fill program variables

Country Status (1)

Country Link
KR (1) KR0175469B1 (en)

Also Published As

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

Similar Documents

Publication Publication Date Title
JPH08272648A (en) Method for automatically generating debugging command file and device for automatically regenerating break point in debugging command file
JP2004164554A (en) Device and method for executing and monitoring program
JP2002532804A (en) Hybrid computer programming environment
KR0125605B1 (en) Method and device for verifying operation of machine language program
KR0175469B1 (en) How to control the visibility of fill program variables
US6983454B2 (en) Extended “run to” function
US20030018957A1 (en) Debugger monitor with anticipatory highlights
WO2024069730A1 (en) Debugging device and debugging method
JPH05108404A (en) Debugger system
JPH02220145A (en) Program tracing system
JP2659366B2 (en) Debugging method and device
KR0121767B1 (en) The method of debugging for parallel chill
US7627859B2 (en) Method for configuring non-script language library files to be run as scripts
KR100216533B1 (en) The event history recording method for the deterministic replay of concurrent chill program
JP3012618B1 (en) Debugging method of inspected program and its debugging method
JP2001222447A (en) Debug method and device to be debugged under operating environment
JPH06242943A (en) Source code level debugging device
JPS61156339A (en) Trace processing system
JPH06119203A (en) Debugging line deleting device
JPH0223433A (en) System for debugging program
JPH03189737A (en) Program developing device
JPH05108372A (en) System for outputting compiler optimization processing content
JPH06242942A (en) Source code level debugging device
JPH04217034A (en) Display system for program trace
JPH07191873A (en) Transition output system for value of variable at debugger

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