KR19990004963A - How to print debug messages at electronic exchange - Google Patents
How to print debug messages at electronic exchange Download PDFInfo
- Publication number
- KR19990004963A KR19990004963A KR1019970029124A KR19970029124A KR19990004963A KR 19990004963 A KR19990004963 A KR 19990004963A KR 1019970029124 A KR1019970029124 A KR 1019970029124A KR 19970029124 A KR19970029124 A KR 19970029124A KR 19990004963 A KR19990004963 A KR 19990004963A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- program
- debugging
- output control
- signal
- Prior art date
Links
Abstract
본 발명은 전전자 교환기에서 디버깅 메시지를 출력하는 방법에 관한 것이다.The present invention relates to a method for outputting a debugging message in an electronic switchboard.
이러한 본 발명의 방법은 전전자 교환시스템에서 운용되는 응용 프로그램에서 오류가 발생되면 공유 라이브러리를 호출하는 단계; 호출된 라이브러리가 응용 프로그램으로부터 파라메터를 전달받아 매시지를 재구성하여 출력제어블록에 시그널을 송부하는 단계; 출력제어블록이 시그널을 수신하면 콘솔에 해당 디버깅 메시지를 출력하는 단계를 포함하여 전전자 교환기에서 응용되는 프로그램에 오류가 발생되면 해당 프로그램의 오류위치 및 원인을 표시하여 디버깅을 용이하게 한다.Such a method of the present invention comprises the steps of calling a shared library when an error occurs in an application running in the electronic switching system; The called library receives parameters from the application program and reconfigures the message to send a signal to the output control block; When the output control block receives a signal, it outputs the corresponding debugging message to the console. When an error occurs in the program applied to the electronic switchboard, the error location and cause of the corresponding program are displayed to facilitate debugging.
Description
본 발명은 전전자 교환기에서 디버깅 메시지를 출력하는 방법에 관한 것이다.The present invention relates to a method for outputting a debugging message in an electronic switchboard.
일반적으로, 교환시스템과 같은 실시간 내장형(embeded) 시스템은 범용 운영체계를 사용하는 호스트 컴퓨터에서 편집하고, 목적(target) 시스템의 실행코드를 생산하는 교차 컴파일러를 이용하여 컴파일한 다음 목적 시스템에 다운 로딩하여 실행시킨다. 이러한 교차 개발방법을 사용하는 이유는 목적 시스템에서는 메모리 또는 디스크 등과 같은 시스템 자원이 한정되어 있으므로 필요한 응용 프로그램을 충분히 내장하여 사용할 수 없지만 호스트 컴퓨터는 그러한 자원 및 응용 프로그램을 충분히 활용할 수 있기 때문이다. 그러므로 프로그래머는 편집, 컴파일하는 호스트 컴퓨터에서 목적 시스템에 다운 로딩할 프로그램을 고급언어 수준으로 디버깅하는 것이 보다 편리하고 생산성이 향상될 수 있다.In general, real-time embedded systems, such as switching systems, are edited on a host computer using a general-purpose operating system, compiled using a cross-compiler that produces the target system's executable code, and then downloaded to the target system. Run it. The reason for using this cross-development method is that the target system has limited system resources such as memory or disk, so that necessary applications cannot be built-in enough, but the host computer can fully utilize such resources and applications. Therefore, it can be more convenient and more productive for programmers to debug the high-level language of the program to download to the target system from the host computer editing and compiling.
그러나 전전자 교환시스템과 같이 대용량의 복잡한 분산 실시간 시스템은 수많은 프로세스들로 이루어진 병행 프로그램으로 이루어지며, 수행 환경도 범용 운용체계가 아닌 핵심되는 분산 실시간 기능을 구현한 특수 운영체계를 자체 개발하여 사용하는 경우가 많으므로 범용 운용체계 환경을 기준으로 개발한 상용 디버깅 도구를 사용하기에는 부적합할 뿐만 아니라 병행 프로그램을 효과적으로 디버깅할 수 있도록 지원하는 운영체계의 기능도 미흡하다.However, large-scale, complex, distributed real-time systems, such as electronic exchange systems, consist of parallel programs consisting of numerous processes.In addition, the operating environment is not a general-purpose operating system, but a special operating system that implements core distributed real-time functions. In many cases, it is not suitable to use commercial debugging tools developed based on general-purpose operating system environment, and it also lacks the function of the operating system that enables effective debugging of parallel programs.
즉, 전전자 교환기에서 특히 ATM교환기와 같은 대형 시스템의 경우 많은 종류의 소프트웨어 프로그램, 많은 양의 소프트웨어가 존재하게 된다. 이러한 소프트웨어는 설계 단계에서부터 최종 검증 시험단계까지 많은 시험 단계를 거쳐 검증되고, 이 과정에서 프로그램의 오류등이 수정된다. 이러한 프로그램의 오류수정은 문제점의 형태가 명확할수록 쉽게 수정이 가능하게 되나 검증과정이 반복됨에 따라 문제점의 형태는 애매하게 되고, 불특정 주기의 수정하기 어려운 문제들만이 잔존하게 된다.In other words, many types of software programs and large amounts of software exist in an electronic switching system, especially in a large system such as an ATM switching system. This software is verified through a number of test steps from the design stage to the final validation test stage, where the errors in the program are corrected. Error correction of such a program can be easily corrected as the problem type is clear, but as the verification process is repeated, the problem type becomes ambiguous, and only problems that are difficult to correct in an unspecified period remain.
종래의 기술에서는 이러한 문제점 발생시 프로세서의 디버그 포트를 이용하여 프로그램 수행중 출력되는 프린트 메시지를 보고서 판단할 수밖에 없는데, 이러한 방법은 디버그 포트가 가지고 있는 위험성에 따른 문제점이 있다. 즉, 도 1은 전전자 교환기에서 종래에 디버그 메시지를 프린팅하는 흐름을 도시한 흐름도인데, 정상 프로그램을 수행하는 중에 오류가 검출되면 프린트문을 통해 디버그 포트로 메시지를 출력하였다.In the prior art, when such a problem occurs, the print port outputted during program execution can only be determined by using the debug port of the processor. However, this method has a problem due to the danger that the debug port has. That is, FIG. 1 is a flowchart illustrating a conventional printing of a debug message in an electronic switchboard. When an error is detected during a normal program, a message is output to a debug port through a print statement.
따라서 본 발명의 목적은 소프트웨어 설계자가 지정한 디버깅 지점을 시스템 메시지를 이용하여 출력하여 디버그 포트를 이용하지 않고도 시스템 운용상태에서 소프트웨어 문제점을 추적하여 원인을 파악하도록 할 수 있는 전전자 교환기에서 디버그 메시지 출력방법을 제공하는데 있다.Accordingly, an object of the present invention is to output a debugging point specified by the software designer using a system message to output the debug message in the electronic switchboard which can identify the cause by tracking the software problem in the system operating state without using the debug port. To provide.
상기와 같은 목적을 달성하기 위하여 본 발명은, 전전자 교환시스템에서 운용되는 응용 프로그램에서 오류가 발생되면 공유 라이브러리를 호출하는 단계; 호출된 라이브러리가 응용 프로그램으로부터 파라메터를 전달받아 매시지를 재구성하여 출력제어블록에 시그널을 송부하는 단계; 출력제어블록이 시그널을 수신하면 콘솔에 해당 디버깅 메시지를 출력하는 단계를 포함하여 전전자 교환기에서 응용되는 프로그램에 오류가 발생되면 해당 프로그램의 오류위치 및 원인을 표시하여 디버깅을 용이하게 하는 것을 특징으로 한다.In order to achieve the above object, the present invention comprises the steps of: calling a shared library when an error occurs in the application running in the electronic switching system; The called library receives parameters from the application program and reconfigures the message to send a signal to the output control block; When the output control block receives a signal, it outputs the corresponding debugging message to the console. When an error occurs in the program applied to the electronic switchboard, the error location and cause of the corresponding program are displayed to facilitate debugging. do.
도 1은 전전자 교환기에서 종래에 디버그 메시지를 프린팅하는 흐름을 도시한 흐름도,1 is a flowchart illustrating a flow of conventionally printing debug messages in an electronic switchgear;
도 2는 본 발명에 따라 전전자 교환기에서 디버그 메시지를 출력하는 방법을 도시한 흐름도,2 is a flowchart illustrating a method of outputting a debug message in an electronic switch according to the present invention;
도 3은 본 발명에 따른 신호전달 흐름을 도시한 개략도,3 is a schematic diagram illustrating a signaling flow in accordance with the present invention;
도 4는 본 발명에 따른 디버그 메시지의 예,4 is an example of a debug message in accordance with the present invention;
도 5는 본 발명에 따른 디버그 메시지의 프린트 예이다.5 is a printing example of a debug message according to the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명에 따라 전전자 교환기에서 디버그 메시지를 출력하는 방법을 도시한 흐름도이고, 도 3은 본 발명에 따른 신호전달 흐름을 도시한 개략도다.2 is a flowchart illustrating a method of outputting a debug message in an electronic switch according to the present invention, and FIG. 3 is a schematic diagram illustrating a signal transmission flow according to the present invention.
도 2를 참조하면, 본 발명에 따른 디버깅 메시지 출력방법은 단계 201 내지 단계205로 이루어진다. 전전자 교환시스템에서 운용되기 위한 프로그램이 정상적으로 수행되고 있다(201)가 단계 202에서 오류가 발생되면 단계203에서 공유 라이브러리를 호출하고, 단계204에서는 공유 라이브러리의 해당 루틴이 출력제어블록에 시그널을 송부한다. 단계205에서는 시그널을 수신한 출력제어블록이 콘솔에 디버그 메시지를 출력한다.Referring to Figure 2, the debugging message output method according to the present invention consists of steps 201 to 205. The program for operating in the electronic switching system is normally executed (201), if an error occurs in step 202, the shared library is called in step 203, and in step 204, the corresponding routine of the shared library sends a signal to the output control block. do. In step 205, the output control block receiving the signal outputs a debug message to the console.
이러한 본 발명의 개념을 좀더 이해하기 쉽게 도 3을 참조하여 설명하면, 응용프로그램은 공유 라이브러리의 해당 루틴에 파라메터를 호출하여 파라메터를 전달하고, 공유메모리는 이에 따라 시그널을 출력 제어블록에 전달한다. 이때 공유 라이브러리의 해당 루틴은 처리결과를 응용 프로그램에 통보하고, 출력제어 블록은 시그널에 따라 메시지를 콘솔에 프린팅한다. 즉, 각 응용 프로그램 수행중 디버깅 메시지 처리 루틴을 받으면 이는 실제 프로그램이 있는 공유 라이브러리를 호출한다. 공유 라이브러리는 파라미터 입력을 받아서 메시지를 재구성하고, 시그널을 통해서 출력제어 블록으로 메시지 출력을 요청한다. 출력 제어블록은 이를 받아서 운용자 콘솔로 메시지를 출력한다.Referring to FIG. 3 to more easily understand the concept of the present invention, an application program calls a parameter to a corresponding routine of a shared library to transfer the parameter, and the shared memory transfers a signal to the output control block accordingly. At this time, the corresponding routine of the shared library notifies the application program of the processing result, and the output control block prints a message to the console according to the signal. That is, when each application receives a debugging message handling routine while it is running, it calls the shared library where the actual program resides. The shared library takes parameter inputs, reconstructs the message, and requests the message output to the output control block via the signal. The output control block receives this and outputs a message to the operator console.
도 4는 본 발명에 따른 디버그 메시지의 코드예이고, 도 5는 본 발명에 따른 디버그 메시지의 프린트 예이다.4 is a code example of a debug message according to the present invention, and FIG. 5 is a print example of a debug message according to the present invention.
도 4를 참조하면, 디버그 메시지의 분류를 위한 코드의 체계를 살펴보면, 첫 번째 D는 디버그 메시지임을 표시하는 식별자로 다른 메시지와 구분하기 위해 사용하고, 12는 블록명칭(block name)으로서 어떤 블록에서 오류가 발생하였는지를 보여주는 식별자이다. 블록명칭은 00∼99까지 등록 가능하며 소프트웨어 관리자에 의해 블록당 한 개씩이 지정된다.Referring to FIG. 4, when looking at the code structure for classifying a debug message, the first D is an identifier indicating that the debug message is used to distinguish it from other messages, and 12 is a block name. Identifier that indicates whether an error occurred. Block names can be registered from 00 to 99. One block is designated by the software manager.
도 4에서 34는 프로그램 소스(source)의 모듈 명칭(module name)으로서, 00 내지 99까지 100개의 값이 등록 가능하며, 소프트웨어 설계자에 의해 임의로 지정 가능하다. 소프트웨어 설계자는 이 번호에 의해 프로그램의 어느 부분에 오류가 발생하였는지를 추정할 수 있다.In FIG. 4, 34 is a module name of a program source, and 100 values from 00 to 99 can be registered and can be arbitrarily designated by a software designer. This number allows the software designer to estimate where in the program the error occurred.
도 5는 본 발명에 의해 출력된 디버그 메시지의 출력 예이다.5 is an example of output of a debug message output by the present invention.
도 5를 참조하면, D7230이라는 코드가 발생되었을 경우, 프로그램 소스의 블록 명칭(BLOCK NAME), 모듈 명칭(MODULE NAME), 소스 번호(SOURCE_NO), 에러원인(REASON) 등이 표시되는데, 블록명칭은 코드번호 72로 지정되는 프로그램 소스 블록의 명칭이고, 모듈명칭은 코드번호 30으로 저정되는 프로그램 소스 모듈의 명칭이다.Referring to FIG. 5, when a code D7230 is generated, a block name (BLOCK NAME), a module name (MODULE NAME), a source number (SOURCE_NO), an error cause (REASON), and the like of a program source are displayed. A program source block designated by code number 72 is a module name, and a module name is a name of a program source module stored at code number 30. FIG.
이상에서 살펴본 바와 같이, 본 발명에 의하면 교환기 소프트웨어 개발중 혹은 운용중 설계자의 오류를 운용자 출력 단말을 통해 쉽게 출력하도록 하고, 디버깅을 위해 별도의 프린트문을 소스에 삽입하지 않아도 된다. 그리고 소프트웨어 문제 발생시 이의 원인, 장애 부위 등을 정확히 판단하여 이에 대한 상세한 정보를 제공하므로써 설계자가 문제점을 쉽게 추적하도록 하며 수정을 용이하게 하는 효과가 있다.As described above, according to the present invention, the error of the designer during the development or operation of the switch software can be easily output through the operator output terminal, and a separate print statement is not inserted into the source for debugging. And when a software problem occurs, it accurately determines the cause of the problem and the problem site, and provides detailed information on the problem so that the designer can easily trace the problem and facilitate the correction.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970029124A KR19990004963A (en) | 1997-06-30 | 1997-06-30 | How to print debug messages at electronic exchange |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970029124A KR19990004963A (en) | 1997-06-30 | 1997-06-30 | How to print debug messages at electronic exchange |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19990004963A true KR19990004963A (en) | 1999-01-25 |
Family
ID=65987285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970029124A KR19990004963A (en) | 1997-06-30 | 1997-06-30 | How to print debug messages at electronic exchange |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19990004963A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010073374A (en) * | 2000-01-14 | 2001-08-01 | 박종섭 | Apparatus and method using shared object for carrying out instruction |
-
1997
- 1997-06-30 KR KR1019970029124A patent/KR19990004963A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010073374A (en) * | 2000-01-14 | 2001-08-01 | 박종섭 | Apparatus and method using shared object for carrying out instruction |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5630049A (en) | Method and apparatus for testing software on a computer network | |
CA2292123C (en) | Method and system for modifying executable code to add additional functionality | |
US5528753A (en) | System and method for enabling stripped object software monitoring in a computer system | |
US6539501B1 (en) | Method, system, and program for logging statements to monitor execution of a program | |
US4819234A (en) | Operating system debugger | |
US7647584B2 (en) | Automation and isolation of software component testing | |
JP2000305809A (en) | Memory access analyzing method, memory access tracing device, and computer-readable recording medium | |
EP0430182B1 (en) | Method for assembly language programming potential error detection sensing apparent inconsistency with a previous operation | |
WO1998034170A1 (en) | Method and apparatus for allowing continued operation for overflow and invalid data | |
US20080127061A1 (en) | Method and system for editing code | |
CN113742215A (en) | Method and system for automatically configuring and calling test tool to perform test analysis | |
US20020129336A1 (en) | Automatic symbol table selection in a multi-cell environment | |
KR19990004963A (en) | How to print debug messages at electronic exchange | |
CN115756935A (en) | Abnormal fault positioning method, device and equipment of embedded software system | |
EP0417916B1 (en) | Procedure state descriptor system for digital data processors | |
EP0801348A1 (en) | Method of monitoring the operation of a computer | |
JPH10133914A (en) | Computer system and device input/output simulator | |
US20040015876A1 (en) | Method and structure of implementing a safe pointer | |
US20060101415A1 (en) | Service logic program tracing | |
AU651682B2 (en) | Improved system and method for detecting cross-domain instruction calls and data references especiallly adapted for code interface jacketing in a multi-code execution and debugging system within a multi-architecture environment | |
EP1164488A1 (en) | Remote debugging in an embedded system enviroment | |
CN112527660B (en) | Static detection method and device for codes | |
KR100310291B1 (en) | Method for simulating parallel program on single system | |
US6530044B1 (en) | System and disassembling test data and method | |
US6654879B1 (en) | Method and apparatus for analyzing code for out-of-range data involving base and seed tables/lists |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |