KR100461521B1 - Program Debugging Method using Assert Function in Switching System - Google Patents
Program Debugging Method using Assert Function in Switching System Download PDFInfo
- Publication number
- KR100461521B1 KR100461521B1 KR10-2000-0011328A KR20000011328A KR100461521B1 KR 100461521 B1 KR100461521 B1 KR 100461521B1 KR 20000011328 A KR20000011328 A KR 20000011328A KR 100461521 B1 KR100461521 B1 KR 100461521B1
- Authority
- KR
- South Korea
- Prior art keywords
- function
- program
- user
- information
- library
- Prior art date
Links
Classifications
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41B—SHIRTS; UNDERWEAR; BABY LINEN; HANDKERCHIEFS
- A41B9/00—Undergarments
- A41B9/001—Underpants or briefs
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41B—SHIRTS; UNDERWEAR; BABY LINEN; HANDKERCHIEFS
- A41B9/00—Undergarments
- A41B9/008—Undergarments with releasable waist connecting means
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41B—SHIRTS; UNDERWEAR; BABY LINEN; HANDKERCHIEFS
- A41B9/00—Undergarments
- A41B9/02—Drawers or underpants for men, with or without inserted crotch or seat parts
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41B—SHIRTS; UNDERWEAR; BABY LINEN; HANDKERCHIEFS
- A41B9/00—Undergarments
- A41B9/04—Knickers for ladies, with or without inserted crotch or seat parts
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41B—SHIRTS; UNDERWEAR; BABY LINEN; HANDKERCHIEFS
- A41B2300/00—Details of shirts, underwear, baby linen or handkerchiefs not provided for in other groups of this subclass
- A41B2300/30—Closures
- A41B2300/322—Closures using slide fasteners
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41B—SHIRTS; UNDERWEAR; BABY LINEN; HANDKERCHIEFS
- A41B2300/00—Details of shirts, underwear, baby linen or handkerchiefs not provided for in other groups of this subclass
- A41B2300/30—Closures
- A41B2300/324—Closures using snap fasteners
-
- A—HUMAN NECESSITIES
- A41—WEARING APPAREL
- A41B—SHIRTS; UNDERWEAR; BABY LINEN; HANDKERCHIEFS
- A41B2400/00—Functions or special features of shirts, underwear, baby linen or handkerchiefs not provided for in other groups of this subclass
- A41B2400/32—Therapeutic use
Landscapes
- Engineering & Computer Science (AREA)
- Textile Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 사용자 프로그래머(User Programmer)가 프로그램을 작성한 후에 해당 프로그램의 기능 이상을 디버깅(Debugging)하고자 할 경우에 유용한 도구를 제공하여 용이하게 에러를 찾아서 수정하고 이에 사용자 작성 프로그램이 안정되게 수행할 수 있도록 한 교환기에서 어서트(Assert) 기능을 이용한 프로그램 디버깅 방법에 관한 것이다.The present invention provides a useful tool when a user programmer writes a program and then wants to debug the function abnormality of the corresponding program so that the user programmer can easily find and correct the error, and the user-written program can be stably performed. This article describes how to debug a program using the Assert function in an exchange.
본 발명은 교환기에서도 어서트 기능을 제공하는 프로그램에 의하여 사용자가 자신의 프로그램을 디버깅할 수 있도록 하며, 다르게는 여러 종류의 메시지 중에서 원하는 메시지만을 출력하고, 파라미터의 값을 파악하고, 해당 정보의 각 레지스터 값을 파악하여 저장하므로 해당 레지스터의 내용을 확인할 수 있으고, 각 함수의 이름을 한 번에 확인하도록 함으로써, 사용자가 프로그램에 대한 에러 수정을 할 수 있는 디버깅 툴을 제공하여 프로그램을 안정화시키며, 또한 사용자가 원하는 메시지만 출력하여 해당 정보를 용이하게 찾을 수 있고, 파라미터와 데이터 값을 구분할 수 있고, 해당 함수의 어드레스 값을 이용하여 하드디스크에 저장되어 있는 파일의 심볼 테이블에서 해당 함수 이름을 파악하여 용이하게 해당 함수 이름을 사용자가 확인할 수 있다.The present invention enables a user to debug his or her own program by a program that provides an assert function in the exchange, otherwise, outputs only the desired message among various types of messages, grasps the value of the parameter, By grasping and storing the register values, you can check the contents of the registers and check the name of each function at once, and stabilize the program by providing a debugging tool that allows the user to correct errors in the program. In addition, you can easily find the information by outputting only the message you want, and distinguish the parameter and data value, and find the function name in the symbol table of the file stored in the hard disk using the address value of the function. User can easily check the function name by There.
Description
본 발명은 교환기에서 어서트 기능을 이용한 프로그램 디버깅 방법에 관한 것으로, 특히 사용자 프로그래머(User Programmer)가 프로그램을 작성한 후에 해당 프로그램의 기능 이상을 디버깅하고자 할 경우에 유용한 도구를 제공하여 용이하게 에러를 찾아서 수정하고 이에 사용자 작성 프로그램이 안정되게 수행할 수 있도록 한 교환기에서 어서트 기능을 이용한 프로그램 디버깅 방법에 관한 것이다.The present invention relates to a method for debugging a program using an assert function in an exchange. In particular, when a user programmer writes a program and wants to debug a malfunction of the corresponding program, a useful tool is provided to easily find an error. The present invention relates to a program debugging method using an assert function in an exchange so that a user-written program can be stably executed.
일반적으로, 프로그래머인 사용자가 교환기용 프로그램을 작성한 후 해당 프로그램의 설계를 검증함과 아울러 확인하는데, 해당 설계 검증과 확인은 설계 단계의 프로그램 시스템의 높은 신뢰도를 보증하기 위한 활동이다. 즉, 더 신뢰성 있는 프로그램의 구현을 위하여 요구 사항과 일치하지 않는 사항들과 설계 에러들을 초기에 발견하면 개발 가격을 줄일 수 있다.In general, a user who is a programmer writes an exchange program and then verifies and verifies the design of the program. The design verification and verification is an activity to ensure high reliability of the program system at the design stage. In other words, early detection of design mismatches and design errors for a more reliable program can reduce development costs.
이와 같이 프로그램의 설계를 검증하고 확인하기 위하여 교환기에서 어서트 기능을 이용하여 프로그램을 디버깅하는데, 종래의 교환기에는 프로그램 어서트 기능이 구현되어 있지 않으며, 또다른 교환기에서 어서트 기능을 이용하여 사용자가 디버깅을 할 프로그램은 예를 들어 도 1a에 나타낸 바와 같은 프로그램으로 구현되어 있다. 여기서 해당 프로그램은 C 언어와 어셈블리어 형태로 작성된 예제 프로그램이고, 'pd_ASRT_A(asrtid, msg)'는 라이브러리 함수이고, 'local_sec(33, rcvdata)'는 프리미티브 함수이다. 또한, 도 1b는 도 1a에 나타낸 바와 같은 프로그램이 수행될 경우에 사용자 스택에 저장된 내용을 나타낸 도면이다.In order to verify and verify the design of the program as described above, the program is debugged by using the assert function in the exchange. In the conventional exchange, the program assert function is not implemented, and the user uses the assert function in another exchange. The program to be debugged is implemented by, for example, a program as shown in Fig. 1A. Here, the program is an example program written in C and assembly language, 'pd_ASRT_A (asrtid, msg)' is a library function, and 'local_sec (33, rcvdata)' is a primitive function. FIG. 1B is a diagram showing contents stored in a user stack when a program as shown in FIG. 1A is executed.
해당 프로그램이 실행되어 사용자가 원하는 정보를 MMC(Man Machine Communication) 터미널에 출력해 디버깅하는 방법은 도 2에 도시된 바와 같이 수행된다.The program is executed to output the information desired by the user to the MMC terminal and debug the method as shown in FIG. 2.
사용자 프로그래머가 자신의 프로그램 중 에러를 발생시킨다고 의심되는 함수(Function)에 대하여 해당 프로그램에 의해 라이브러리 함수인 'pd_ASRT_A(asrtid, msg)'를 호출한다(스텝 S201). 여기서, 라이브러리 함수를 시작하는 부분에는 각 레지스터 값을 포함하고 있지만 해당 레지스터 값을 파악하지는 않는다. 이에, 라이브러리는 프리미티브 함수인 'local_sec(33, rcvdata)'를 찾은 후에, 해당 프리미티브 함수를 이용하여 정보를 요청한다(스텝 S202). 이에 따라, 실시간 처리를 위한 OS(Operating System)인 CROS(Concurrent Real-Time OS)는 해당 프리미티브 함수를 통해 'user1(user1_i1, user1_i2)', 'user2(user2_i1, user1_i2)'를 차례로 호출하여 도 1B에 도시된 바와 같은 사용자 스택에 저장된 정보를 취득한 후(스텝 S203), 라이브러리에 해당 정보를 전달한다(스텝 S204). 여기서, 해당 프로그램이 컴파일되는 경우에, 함수 'user2(user2_i1, user2_i2)' 내에서 함수 'user1'을 호출하는 부분과 함수 'user3(user3_i1, user3_i2)' 내에서 함수 'user2'를 호출하는 부분의 다음에는 파라미터의 개수를 알 수 있는 기계어 코드 부분이 포함되어 있으나, 이를 파악하지는 않는다. 라이브러리는 해당 정보를 MMC 터미널에 통해 출력하는데, 이에 사용자는 프로그램을 디버깅한다(스텝 S205).The user programmer calls the library function 'pd_ASRT_A (asrtid, msg)' by the corresponding program to a function suspected of causing an error in his program (step S201). Here, the beginning of the library function contains each register value but does not know the register value. Accordingly, the library searches for 'local_sec (33, rcvdata)', which is a primitive function, and then requests information using the corresponding primitive function (step S202). Accordingly, CROS (Concurrent Real-Time OS), which is an operating system (OS) for real-time processing, calls 'user1 (user1_i1, user1_i2)' and 'user2 (user2_i1, user1_i2)' sequentially through corresponding primitive functions, and FIG. 1B. After the information stored in the user stack as shown in FIG. 5 is acquired (step S203), the information is transferred to the library (step S204). Here, when the program is compiled, the part calling the function 'user1' within the function 'user2 (user2_i1, user2_i2)' and the part calling the function 'user2' within the function 'user3 (user3_i1, user3_i2)' The following contains the part of the machine code that knows the number of parameters, but does not grasp this. The library outputs the corresponding information to the MMC terminal, whereby the user debugs the program (step S205).
여기서, 해당 MMC 터미널에 해당 정보의 출력 시에 스택에 저장된 'Rts(of user2)', 'Rts(of user3)', 'user1_v1', 'user1_v2', 'user1_i1', 'user1_i2', 'user2_v1', 'user2_v2' 등을 포함하여 10 개의 값을 동시에 모두 출력한다. 그리고, 'Rts(of user2)', 'Rts(of user3)'는 16진수의 메모리 어드레스(Address) 값으로 출력되어 해당 user 함수의 함수 이름(Function Name)을 해당 16진수 메모리 어드레스로 확인해야 한다.Here, 'Rts (of user2)', 'Rts (of user3)', 'user1_v1', 'user1_v2', 'user1_i1', 'user1_i2', and 'user2_v1' stored in the stack when the information is output to the corresponding MMC terminal. Output all 10 values at the same time, including 'user2_v2'. In addition, 'Rts (of user2)' and 'Rts (of user3)' are output as hexadecimal memory address values, and the function name of the corresponding user function must be identified as the hexadecimal memory address. .
이와 같이, 종래의 교환기는 프로그램 어서트 기능이 구현되어 있지 않아 디버깅 툴을 제공하지 않으므로 프로그래머가 프로그램 디버깅 시에 많은 소용 시간을 요하는 문제점이 있다.As such, the conventional exchanger does not provide a debugging tool because a program assert function is not implemented, and thus a programmer requires a lot of time when debugging a program.
또한, 종래의 다른 교환기는 어서트 기능을 이용하여 스택에 저장된 모든 정보를 단순히 MMC 터미널에 출력하므로, 해당 출력된 정보 중에서 어디까지가 파라미터(Parameter)인지 데이터 값인지를 구별할 수 없을 뿐만 아니라, 프로그래머가 MMC 터미널에 무수히 출력되는 여러 종류의 메시지 속에서 원하는 메시지만 찾아 보기가 매우 어렵고, 라이브러리 함수가 수행되는 순간에 중요한 값인 각 레지스터(Resister) 값을 파악하지 않아 해당 레지스터의 정보를 확인할 수 없는 문제점이 있다.In addition, another conventional exchange simply outputs all the information stored in the stack to the MMC terminal by using the assert function, and thus, it is not only possible to distinguish which parameter or data value among the outputted information. It is very difficult for programmers to find only the messages they want from the various types of messages that are output on the MMC terminal, and it is impossible to check the information of the registers because they do not know the value of each register, which is an important value at the moment the library function is executed. There is a problem.
또한, 종래의 교환기에서는 'Rts(of user2)', 'Rts(of user3)'의 값이 16진수의 메모리 어드레스(Address) 값으로 출력되어 있으므로, 추후에 해당 16진수의 메모리 어드레스 값을 가지고 'user2', 'user3'라는 함수 이름을 각각 확인해야 하는 불편함이 있다.In addition, in the conventional exchange, the values of 'Rts (of user2)' and 'Rts (of user3)' are output as hexadecimal memory address values, so that the memory addresses of the hexadecimal numbers later have ' It is inconvenient to check the function name 'user2' and 'user3' respectively.
본 발명은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 그 목적은 교환기에서도 어서트 기능을 제공하는 프로그램에 의하여 사용자가 자신의 프로그램을 디버깅할 수 있도록 하는 어서트 기능을 이용한 디버깅 방법을 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the problems described above, and an object thereof is to provide a debugging method using an assert function that enables a user to debug his or her own program by a program that provides an assert function in an exchange. .
또한, 본 발명의 또다른 목적은 교환기에서 여러 종류의 메시지 중에서 원하는 메시지만을 출력하여 해당 정보를 용이하게 찾을 수 있고, 파라미터의 값을 파악하여 파라미터와 데이터 값을 구별할 수 있고, 해당 정보의 각 레지스터 값을 파악하여 저장하므로 해당 레지스터의 내용을 확인할 수 있으며, 각 함수의 이름을 한 번에 확인하도록 하는 어서트 기능을 이용한 디버깅 방법을 제공하는데 있다.In addition, another object of the present invention can easily find the corresponding information by outputting only the desired message from the various types of messages in the exchange, it is possible to distinguish between the parameter and the data value by grasping the value of the parameter, It is to provide the debugging method using the assert function that checks the contents of the register because the register value is identified and stored, and the name of each function can be checked at once.
도 1a는 종래 기술에 따른 교환기에서 어서트(Assert) 기능이 첨부된 프로그램을 나타내며, 도 1b는 해당 프로그램 수행 시의 사용자 스택(User Stack)에 저장된 내용을 나타낸 도면,FIG. 1A illustrates a program to which an assert function is attached in an exchange according to the prior art, and FIG. 1B illustrates contents stored in a user stack when performing a corresponding program.
도 2는 종래 기술에 따른 교환기에서 프로그램 디버깅(Debugging) 절차를 나타내는 순서도,2 is a flowchart illustrating a program debugging procedure in an exchange according to the prior art;
도 3은 본 발명에 따른 디버깅 시에 절차를 나타내는 플로우챠트,3 is a flowchart showing a procedure at the time of debugging according to the present invention;
도 4는 본 발명에 따른 디버깅 시에 프로세서에 의해 명령을 처리하는 절차를 나타내는 플로우챠트이다.4 is a flowchart illustrating a procedure of processing an instruction by a processor during debugging in accordance with the present invention.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징은, 사용자가 프로그램의 에러 정보를 요청하는 경우에 더미 터미널을 통해 디버깅 중인 프로세서의 이름과 명령어를 입력받는 과정과; 상기 입력받은 명령어에 따라 상기 프로세서에 의해 메모리에 저장된 정보를 추출하는 과정과; 상기 추출된 정보의 어드레스에 대한 함수 이름을 하드디스크의 심볼 테이블을 검색하여 파악하는 과정과; 상기 메모리에 저장된 정보 및 상기 하드디스크로부터 파악한 함수 이름을 함께 정렬하여 상기 더미 터미널에 출력하는 과정을 포함하여 이루어진 것이다.Features of the present invention for achieving the above object, the process of receiving a name and instructions of the processor under debugging via the dummy terminal when the user requests the error information of the program; Extracting information stored in a memory by the processor according to the received instruction; Retrieving a function table of an address of the extracted information by searching a symbol table of a hard disk; And sorting the information stored in the memory and the function name obtained from the hard disk together and outputting the same to the dummy terminal.
이하, 본 발명의 바람직한 실시 예에 따른 교환기에서 어서트 기능을 이용한 프로그램 디버깅 방법을 첨부된 도면을 참조하여 설명하면 다음과 같다.Hereinafter, a program debugging method using an assert function in an exchange according to a preferred embodiment of the present invention will be described with reference to the accompanying drawings.
본 발명은 수정된 라이브러리 함수인 'pd_ASRT_A()'와, 수정된 프리미티브 함수인 'local_sec()'와, 응용 프로그램으로써 교환기의 프로세서에 추가되어 더미 터미널(Dummy Terminal)에서 들어오는 운영자의 명령어를 처리하는 함수(예를 들어, 'ASERT_FUN()')로 구성된다. 그러면, 본 발명의 방법은 도 3에 도시된 바와 같이, 먼저 운영자의 명령어를 처리하는 함수, 예를 들어 'ASERT_FUN()'를 구현한다. 그리고, 더미 터미널을 통해 사용자가 프로그램의 에러 정보를 요청하게 되는데, 이때 'ASERT_FUN()'를 이용하여 사용자가 디버깅 중인 프로세서의 이름과 함께 해당되는 명령어를 입력하게 되며(스텝 S301), 이에 교환기의 프로세서는 메모리에 저장된 에러 정보를 추출한다(스텝 S302). 그리고, 프로세서는 해당 user 정보에 대한 어드레스가 어떠한 함수에 포함되어 있는지를 확인하기 위해서 교환기의 하드디스크에 저장된 파일의 심볼 테이블(Symbol Table)을 검색하여 해당 정보에 대한 어드레스의 함수 이름을 파악한다(스텝 S303). 그리고, 메모리에서 추출한 정보와 하드디스크에서 검색한 함수 이름을 함께 정렬한 후(스텝 S304) 더미 터미널에 출력하면 사용자가 디버깅한다(스텝 S305).한편, 프로세서가 메모리에 정보를 저장하는 과정(스텝 S302)은 도 4에 도시된 순서로 진행된다. 먼저, 프로그램이 구동되면 라이브러리 함수를 호출한다(스텝 S401). 이에 라이브러리 함수는 시작 부분에 각 레지스터 값을 포함하고 있는데, 해당 레지스터 값을 읽어 해당되는 변수에 저장한다. 그리고, 라이브러리는 해당 정보에 대한 레지스터 값을 저장한 후(스텝 S402), 원하는 정보를 운영 체제인 CROS에게 요청한다(스텝 S403). 이에 CROS는 프리미티브 함수를 이용하여 스택에 저장된 해당 정보를 추출한다(스텝 S404). 여기서, 프로그램을 컴파일하면 프리미티브 함수 내에서 'user'라는 함수에 포함된 이전의 'user' 함수를 호출하는 다음 부분에 이전의 'user' 함수의 파라미터 개수를 파악할 수 있는 기계어 코드 부분이 포함되어 있다. 여기서, 해당 함수를 호출하는 다음 부분에는 해당 소정 개수의 기계어 코드 중 하나로 이루어지는데, 해당 기계어 코드는 '588f', '508f', '4fef' 및 'dffc'의 4 가지이다. 상술한 기계어 코드의 파라미터 개수는 '588f'는 2 개, '508f'는 4 개, '4fef'는 다음에 정렬된 2(Byte)에 저장된 수의 절반 값, 'dffc'는 다음 4(Byte)에 저장된 값의 반이 파리미터의 개수이다. 예를 들어, 기계어 코드 중 '4fef'의 다음에 오는 2(Byte)가 '10'을 나타내면 파라미터의 개수는 5 개이고, 'dffc'의 다음에 오는 4(Byte)가 '14'를 나타내면 파라미터의 개수는 7 개이다.According to the present invention, a modified library function 'pd_ASRT_A ()', a modified primitive function 'local_sec ()', and an application program are added to a processor of an exchange to process an instruction of an operator coming from a dummy terminal. It consists of a function (eg 'ASERT_FUN ()'). The method of the present invention then implements a function, for example 'ASERT_FUN ()', that first processes the operator's instructions, as shown in FIG. Then, the user requests the error information of the program through the dummy terminal. At this time, the user inputs a corresponding command together with the name of the processor being debugged using 'ASERT_FUN ()' (step S301). The processor extracts the error information stored in the memory (step S302). Then, the processor searches the symbol table of the file stored in the hard disk of the exchanger to determine which function the address for the user information is included in, and finds the function name of the address for the information ( Step S303). Then, the information extracted from the memory and the function name retrieved from the hard disk are sorted together (step S304) and output to the dummy terminal for debugging by the user (step S305). Meanwhile, the process of storing the information in the memory (step S305). S302 proceeds in the order shown in FIG. First, when a program is driven, a library function is called (step S401). The library function contains each register value at the beginning, and reads the register value and stores it in the corresponding variable. The library then stores the register value for the corresponding information (step S402), and then requests the desired information from CROS, which is an operating system (step S403). CROS then extracts the corresponding information stored on the stack using the primitive function (step S404). Here, when the program is compiled, the next part of calling the previous 'user' function included in the 'user' function in the primitive function includes a part of machine code that can determine the number of parameters of the previous 'user' function. . Here, the next part of the function call is made of one of a predetermined number of machine language codes, and the machine code is four kinds of '588f', '508f', '4fef' and 'dffc'. The number of parameters of the above machine code is '588f' is 2, '508f' is 4, '4fef' is half the value stored in 2 (Byte) arranged next, and 'dffc' is the next 4 (Byte). Half of the values stored in are the number of parameters. For example, if 2 (Byte) after '4fef' in machine code indicates '10', the number of parameters is 5, and 4 (Byte) after 'dffc' indicates '14'. The number is seven.
이후, CROS는 스택에서 추출한 정보를 다시 라이브러리로 전달하고, 해당 라이브러리는 상기 추출된 정보를 IPC(Internet Protocol Control) 통신을 이용하여 프로세서로 전달하고(스텝 S405), 해당 프로세서는 상기 추출된 정보를 메모리에 저장한다. 여기서, 해당 프로세서에는 사용자의 명령어를 처리하고 상기 정보를 메모리에 저장할 수 있도록 하는 함수(예를 들어, 'ASERT_FUN()')가 정의되어 해당 정보가 메모리에 저장되는 시간도 함께 저장한다(스텝 S406).Thereafter, CROS transfers the information extracted from the stack back to the library, and the library transfers the extracted information to the processor using IPC (Internet Protocol Control) communication (step S405), and the processor transfers the extracted information. Store in memory. In this case, a function (for example, 'ASERT_FUN ()') for processing a user's instruction and storing the information in the memory is defined in the processor, and the time for which the information is stored in the memory is also stored (step S406). ).
이상으로 본 발명의 바람직한 실시 예에 대해 상세히 기술되었지만, 본 발명이 속하는 기술 분야에 있어서 통상의 지식을 가진 사람이라면 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서, 본 발명의 실시 예들의 변경은 본 발명의 기술적 범위를 벗어날 수 없을 것이다.Although the preferred embodiments of the present invention have been described in detail above, it will be understood by those skilled in the art that the present invention may be modified or modified in various ways. Therefore, changes of the embodiments of the present invention will not be able to escape the technical scope of the present invention.
상술한 바와 같이, 본 발명은 교환기에서도 사용자에게 사용자가 프로그램에 대한 에러 수정을 할 수 있는 디버깅 툴을 제공하여 프로그램을 안정화시키는 장점이 있다.As described above, the present invention has an advantage of stabilizing a program by providing a debugging tool that allows a user to correct an error in a program even in an exchange.
또한, 교환기에서도 디버깅시 사용자가 원하는 메시지만 출력하고, 파라미터와 데이터 값을 구분할 수 있으며, 해당 함수의 어드레스 값을 이용하여 하드디스크에 저장되어 있는 파일의 심볼 테이블에서 해당 함수 이름을 파악하므로 용이하게 해당 함수 이름을 사용자가 확인할 수 있는 장점이 있다..In addition, the exchanger can output only the message that the user wants when debugging, and can distinguish the parameter and data value, and the function name is identified in the symbol table of the file stored in the hard disk using the address value of the function. The advantage is that the function name can be checked by the user.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0011328A KR100461521B1 (en) | 2000-03-07 | 2000-03-07 | Program Debugging Method using Assert Function in Switching System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0011328A KR100461521B1 (en) | 2000-03-07 | 2000-03-07 | Program Debugging Method using Assert Function in Switching System |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010087548A KR20010087548A (en) | 2001-09-21 |
KR100461521B1 true KR100461521B1 (en) | 2004-12-14 |
Family
ID=19652935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-0011328A KR100461521B1 (en) | 2000-03-07 | 2000-03-07 | Program Debugging Method using Assert Function in Switching System |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100461521B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01286598A (en) * | 1988-05-11 | 1989-11-17 | Nec Corp | Exchange program debugging system |
KR19980061804A (en) * | 1996-12-31 | 1998-10-07 | 유기범 | Function Parameter Tracking Method in Electronic Switching System |
KR100208268B1 (en) * | 1996-11-11 | 1999-07-15 | 유기범 | Method for outputing error information in a full-electronic exchange |
KR100222736B1 (en) * | 1996-11-26 | 1999-10-01 | 유기범 | Method for tracking global variable in debuging in switching system |
KR100256561B1 (en) * | 1997-08-21 | 2000-05-15 | 강병호 | Method for processor fault information save/confirmation |
-
2000
- 2000-03-07 KR KR10-2000-0011328A patent/KR100461521B1/en not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01286598A (en) * | 1988-05-11 | 1989-11-17 | Nec Corp | Exchange program debugging system |
KR100208268B1 (en) * | 1996-11-11 | 1999-07-15 | 유기범 | Method for outputing error information in a full-electronic exchange |
KR100222736B1 (en) * | 1996-11-26 | 1999-10-01 | 유기범 | Method for tracking global variable in debuging in switching system |
KR19980061804A (en) * | 1996-12-31 | 1998-10-07 | 유기범 | Function Parameter Tracking Method in Electronic Switching System |
KR100214125B1 (en) * | 1996-12-31 | 1999-08-02 | 유기범 | Function parameter tracking method in full electronic switching system |
KR100256561B1 (en) * | 1997-08-21 | 2000-05-15 | 강병호 | Method for processor fault information save/confirmation |
Also Published As
Publication number | Publication date |
---|---|
KR20010087548A (en) | 2001-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6412106B1 (en) | Graphical system and method for debugging computer programs | |
US6134690A (en) | Computerized automation system and method | |
US6931631B2 (en) | Low impact breakpoint for multi-user debugging | |
US20050268195A1 (en) | Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems | |
Crowley-Milling et al. | The NODAL System for the SPS | |
US8776024B2 (en) | Software application fine-tuning method, system, and corresponding computer program product | |
JPH09325901A (en) | Method for executing debugging | |
US7093237B2 (en) | High performance debugging in a message flow environment | |
US6957421B2 (en) | Providing debugging capability for program instrumented code | |
US6598181B1 (en) | Method and system for debugging multiple function calls | |
US7849470B2 (en) | System and method for extending a programming language to include multiple dissimilar object systems | |
JP2513417B2 (en) | Information processing device | |
US6735774B1 (en) | Method and apparatus for system call management | |
US20070150866A1 (en) | Displaying parameters associated with call statements | |
JP2752094B2 (en) | Backtrack processing method in logic language | |
KR100461521B1 (en) | Program Debugging Method using Assert Function in Switching System | |
WO2017202083A1 (en) | Microcode debugging method and single board | |
US7028294B2 (en) | Linking of applications into devices having overlays and shadow memories | |
US20020129336A1 (en) | Automatic symbol table selection in a multi-cell environment | |
CN109947407B (en) | Data acquisition method and device | |
JPS6378231A (en) | Partial program combining system | |
US20040216140A1 (en) | Method and system for accessing system operations through an interface layer | |
US7281166B1 (en) | User-customizable input error handling | |
JP2004139609A (en) | Development support device | |
CN115599408B (en) | Data burning method, equipment and storage medium of processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
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: 20081201 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |