WO2013031010A1 - Debugging assistance method, computer and debugging assistance program - Google Patents

Debugging assistance method, computer and debugging assistance program Download PDF

Info

Publication number
WO2013031010A1
WO2013031010A1 PCT/JP2011/069954 JP2011069954W WO2013031010A1 WO 2013031010 A1 WO2013031010 A1 WO 2013031010A1 JP 2011069954 W JP2011069954 W JP 2011069954W WO 2013031010 A1 WO2013031010 A1 WO 2013031010A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
data
function
display
record
Prior art date
Application number
PCT/JP2011/069954
Other languages
French (fr)
Japanese (ja)
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 PCT/JP2011/069954 priority Critical patent/WO2013031010A1/en
Publication of WO2013031010A1 publication Critical patent/WO2013031010A1/en

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

Definitions

  • the present invention relates to a method, a computer, and a program for supporting debugging in program development and maintenance.
  • a source program editing function In the development of a program, a source program editing function, a compile / link function (also called a build function), and a debugging support function (debugger) are essential.
  • the debugger can understand the problem of the problem, find the cause of the problem, find another problem that caused the problem, etc.
  • functions that support debugging such as grasping movements.
  • a typical debugger executes a built program, stops at an arbitrary execution point, refers to the data value of the data item (variable) to which that point relates, and then restarts and executes the stopped program As a basic function.
  • Patent Document 1 the execution result of a program is accumulated as an execution history, control and data flow are analyzed, and a set of sentences (instruction sentences) causing a defect is specified from data that seems to be an error.
  • a debugger is disclosed.
  • the debugger disclosed in Patent Document 1 does not repeat the display of the execution result of the sequential program and the execution of the program, unlike the conventional debugger, but can analyze after the execution of the program, and can be a defect candidate sentence (command sentence). ) Can be specified. Therefore, there is an effect of preventing the reference of the data value accompanying execution of the statement (command statement) from being overlooked.
  • Non-Patent Document 1 discloses an error cause investigation device having a function of storing information at the time of occurrence of a specific event and referring to it when a specific event occurs. By displaying a list of events that occurred during the startup of the debugger and instructing an arbitrary event, the state where the event occurred can be displayed on the screen, and data values and the like can be confirmed. Since events include breakpoints, you can return to the state of any breakpoint after program execution by setting it to break through even if it stops frequently, such as loops, and you can reference data values. It has the effect of preventing oversight.
  • transition information of a data value that leads to a data value in which a defect has occurred is necessary.
  • maintenance personnel, etc. must instruct each instruction sequentially to display data values, so the transition of data values that lead to failures must be predicted by maintenance personnel, etc. Efficiency is reduced.
  • the error cause investigation device described in Patent Document 1 starts from a variable having a data value indicating a noticed failure, and a statement (command statement) related to the generation of the data value in a direction opposite to the execution order. Generate a flow of data values. Therefore, the generated flow is a flow indicating the relevance of the sentence (command sentence), and there is a problem that the transition of the data value must be sequentially referred to from the details of the sentence (command sentence).
  • Non-Patent Document 1 has a problem that the recorded events must be sequentially referred to in order to refer to the transition of the data value from the event history. Further, since there is a restriction that only a specific event is traced, there is a problem that data value information regarding all instructions cannot be held, and data values cannot be confirmed in units of instructions after execution.
  • a typical example of the invention disclosed in the present application is as follows. That is, a debugging support method in a computer for identifying a failure in a program generated by compiling a source code including a plurality of statements and correcting the program, the computer being connected to the processor and the processor A main storage device that is connected to the processor, and the computer stores debug information generated by compiling the source code, and the debug information is at least the source Including a position number indicating the position of the statement in the code, a name of a function included in the statement, and a name of data included in the statement, and when the computer receives a debug process start command , Execute the execution system statement including the function with reference to the debug information Log information composed of the function, the input data input to the function, and the output data output from the function, based on the execution result of the execution statement of the execution system And the computer displays a transition state between the function and the input data and a transition state between the function and the output data based on the data transition information. And
  • the transition and relationship between functions and data values can be easily grasped, and debugging efficiency is improved.
  • FIG. 1 is a block diagram illustrating a configuration of a computer system that realizes a program debugging environment according to the first embodiment.
  • the computer system in this embodiment includes a computer 100, a display 160, and an input / output device 170.
  • the computer 100 is a computer that provides a debugging support function.
  • the computer 100 includes an application program 110, a debugger 120, a business DB 130, debug information 140, and data transition information 150.
  • Application program 110 is a program to be debugged.
  • the application program 110 is generated when a compiler (not shown) compiles the source code.
  • symbol information is embedded as information for specifying a location where a bug has occurred.
  • the symbol information includes information such as the function name, variable name, and the position of the command statement constituting the source code.
  • the command statement includes a statement that defines a command (function) and a statement that defines data.
  • an instruction statement that defines an instruction (function) is also referred to as an execution instruction sentence.
  • an application program 110 in which source code is compiled using the COBOL language is targeted.
  • the present invention is not limited to a computer language.
  • the debugger 120 is a program that provides a debugging support function.
  • the debugger 120 executes the application program 110, searches for a bug based on the execution result, and corrects the bug.
  • the debugger 120 includes a debugger control unit 121, a data transition information generation unit 122, and a display information generation unit 123.
  • the debugger 120 includes a compiler.
  • the debugger control unit 121 controls the processing of the debugger 120.
  • the debugger control unit 121 executes the application program 110 and executes processing such as bug search and correction based on the execution result.
  • the data transition information generation unit 122 generates log information to be stored in the data transition information 150. Specific processing of the data transition information generation unit 122 will be described later with reference to FIG.
  • the display information generation unit 123 generates display information 210 (see FIG. 2).
  • the display information (see FIG. 2) is information for displaying the transition of the data value when the application program 110 is executed. Specific processing of the display information generation unit 123 will be described later with reference to FIGS. 15A and 15B.
  • the business DB 130 stores information necessary for executing the application program 110.
  • the debug information 140 stores information necessary for debugging, that is, symbol information.
  • the debug information 140 is information output by the compiler. The debug information 140 will be described later with reference to FIG.
  • the data transition information 150 stores information indicating the execution contents and execution results of the application program 110.
  • the data transition information 150 will be described later with reference to FIG.
  • the display 160 and the input / output device 170 are devices for a maintenance person to input data to the computer 100 or display data output from the computer 100.
  • FIG. 2 is a block diagram illustrating the hardware configuration of the computer 100 according to the first embodiment.
  • the computer 100 includes a processor 201, a main storage device 202, an auxiliary storage device 203, and an I / O interface 204.
  • the computer 100 may include other configurations such as a network interface.
  • the processor 201 executes a program stored in the main storage device 202.
  • the processor 201 executes the program, the functions of the computer 100 can be realized.
  • the main storage device 202 stores a program executed by the processor 201 and information necessary for executing the program.
  • the main storage device 202 may be a memory, for example.
  • the main storage device 202 stores an application program 110, a debugger 120, and display information 210.
  • the display information 210 is information generated by the display information generation unit 123, and a screen indicating data transition is displayed on the display 160 based on the display information 210. Details of the display information 210 will be described later with reference to FIG.
  • the display information 210 is deleted after being stored in the main storage device 202 for a certain period, but the display information 210 may be stored in the auxiliary storage device 203 as a kind of log information.
  • the auxiliary storage device 203 stores programs and various types of information.
  • the auxiliary storage device 203 may be an HDD.
  • the business DB 130, debug information 140, and data transition information 150 are stored in the auxiliary storage device 203.
  • Each DB may be stored in an external storage device, for example, a storage system.
  • the processor 201 reads a program and information stored in the auxiliary storage device 203 to the main storage device 202, and executes processing using the program and information on the main storage device 202.
  • the I / O interface 204 is an interface for connecting to an external device, and the computer 100 is connected to the display 160 and the input / output device 170 via the I / O interface 204.
  • functions such as the debugger 120 are realized as a program on the main storage device 202, but the present invention is not limited to this. All or part of the functions of the debugger 120 may be realized using dedicated hardware.
  • FIG. 3 is an explanatory diagram showing an example of the debug information 140 in the first embodiment.
  • the debug information 140 stores source code information 300, instruction information 310, and data value information 320.
  • the source code information 300 stores source code for realizing the application program 110.
  • the instruction information 310 stores information on an imperative sentence constituting the source code.
  • the data value information 320 stores information on input data and output data.
  • each of the source code information 300, the instruction information 310, and the data value information 320 will be described.
  • FIG. 4 is an explanatory diagram showing an example of the source code information 300 in the first embodiment.
  • the source code information 300 includes a line number 401 and a command statement 402.
  • the line number 401 stores a line number indicating the position of the command statement in the source code.
  • the command statement 402 stores the content of the command statement constituting the source code.
  • source code information 300 shown in FIG. 4 is an example, and other column information may be stored.
  • FIG. 5 is an explanatory diagram showing an example of the instruction information 310 in the first embodiment.
  • the instruction information 310 includes a line number 501, an instruction word 502, and input / output data 503.
  • the line number 501 is the same as the line number 401.
  • the instruction word 502 stores an instruction included in the instruction sentence.
  • an instruction is a character string that defines a predetermined process.
  • the input / output data 503 stores information on the data value input when executing the command statement and the data value output as the execution result of the command statement.
  • an identifier for identifying the type of data and a data number for identifying the data are stored as one set.
  • “I” or “O” is stored as an identifier for identifying the type of data. “I” indicates input data, and “O” indicates output data. For example, in the example illustrated in FIG. 5, in the record having the row number 501 of “536”, the input data with the data number 237 is input and the output data with the data number 223 is output.
  • FIG. 6 is an explanatory diagram showing an example of the data value information 320 in the first embodiment.
  • the data value information 320 includes a line number 601, a level number 602, a data name 603, and a count 604.
  • the line number 601 is the same as the line number 401.
  • the level number 602 stores an identification number that defines the hierarchical structure of data. The smaller the value, the higher the hierarchy.
  • Data name 603 stores the name of the data value defined in the command statement.
  • the count 604 stores the number of digits or the number of characters of the data value corresponding to the data name 603. For example, “9 (5)” indicates a 5-digit number.
  • debug information 140 described with reference to FIGS. 3 to 6 is an example, and information of different formats and different contents may be stored depending on the computer language.
  • FIG. 7 is an explanatory diagram showing an example of the data transition information 150 in the first embodiment.
  • the data transition information 150 is composed of a plurality of log information 701.
  • the log information 701 includes a line number, a command statement, a data number, a data type, a data value, and the like.
  • FIG. 8 is an explanatory diagram showing an example of the display information 210 in the first embodiment.
  • the display information 210 includes a plurality of records, and each record includes a type 801, a line number 802, a command word / data name 803, a data value 804, a position 805, and a related information position 806.
  • the type 801 stores identification information indicating the type of the command statement. Specifically, either “C” indicating an instruction or “D” indicating data is stored.
  • Line number 802 is the same as line number 401.
  • the instruction word / data name 803 stores an instruction word that defines an instruction or a name of data that defines data. Specifically, when the type 801 is “C”, the instruction word is stored, and when the type 801 is “D”, the data name is stored.
  • Data value 804 stores a data value corresponding to the data name.
  • the type 801 is “C”
  • no information is stored in the data value 804.
  • Position 805 stores the display position of the command or data corresponding to the record.
  • the related information position 806 stores the display position of the instruction or data related to the instruction or data corresponding to the record.
  • 9 and 10 are explanatory diagrams illustrating examples of screens displayed when the application program 110 according to the first embodiment is executed.
  • FIG. 9 shows a display screen when the application program 110 is executed.
  • FIG. 10 shows a display screen after the application program 110 is executed. Note that the execution of the application program 110 is a process independent of the process of the debugger 120.
  • the display screen 900 includes an input area 901, an input area 902, and a calculation button 903.
  • the input area 901 is an area for inputting a product number.
  • the input area 902 is an area for inputting the quantity of products.
  • the calculation button 903 is an operation button that instructs execution of the application program 110.
  • the application program 110 is executed based on the values input in the input area 901 and the input area 902, and a result as shown in FIG. 10 is displayed.
  • the display screen 900 shown in FIG. 10 newly includes an output area 1001, an output area 1002, an output area 1003, a cancel button 1004, and a registration button 1005.
  • the output area 1001 is an area for outputting a product name corresponding to the product number input in the input area 901.
  • the output area 1002 is an area for outputting the unit price of the product corresponding to the product number input in the input area 901.
  • the output area 1003 is an area for outputting the sales amount of the product corresponding to the product number input in the input area 901.
  • Cancel button 1004 is a button operated when the execution result of application program 110 is not registered.
  • a registration button 1005 is a button operated when registering an execution result of the application program 110.
  • FIG. 11 is a flowchart for explaining processing executed by the debugger control unit 121 in the first embodiment.
  • the debugger control unit 121 accepts the start of the process (step S1101) and starts the process. At this time, a data value in which a malfunction has occurred and a start point or a restart point are input by a maintenance person or the like.
  • start point indicates the position of the execution system statement that becomes the start position of the processing
  • restart point indicates the position of the execution system statement that becomes the restart position of the process.
  • the debugger control unit 121 reads the debug information 140 from the auxiliary storage device 203 and stores it in the main storage device 202.
  • FIG. 12 is an explanatory diagram showing the debug information 140 read to the main storage device 202 in the first embodiment.
  • source code information 1200, instruction information 1210, and data value information 1220 are stored in different storage areas of the main storage device 202.
  • the relevance such as the line number is displayed so that the relevance can be understood.
  • the data value information 1220 stores the first input data, and then stores a new data value as the application program 110 is executed.
  • the debugger control unit 121 determines whether or not the target execution statement is an end point (step S1103). Specifically, it is determined by referring to the source code information 1200 whether or not there is an execution command statement that has not been executed.
  • the debugger control unit 121 ends the process.
  • the debugger control unit 121 executes the target execution system command statement (step S1104). At this time, if input data or output data exists, the data value of the input data or output data is stored in the corresponding record of the data value information 1220.
  • the debugger control unit 121 determines whether or not there is at least one of input data and output data for an instruction included in the execution system command statement (step S1105).
  • the debugger control unit 121 refers to the source code information 1200 and the instruction information 1210, and at least one of input data input to an instruction included in an execution command statement or output data output from the instruction. It is determined whether or not one of them exists. For example, in the example shown in FIG. 5, it can be seen that input data and output data exist in the input / output data 503 of the command statement whose line number is “537” in the command information 1210.
  • the debugger control unit 121 reads the next execution-type command statement and sets the execution point (step S1109), the process returns to step S1103, and the same processing is executed.
  • the debugger control unit 121 If it is determined that there is at least one of input data and output data for an instruction included in the execution system statement, the debugger control unit 121 outputs a generation instruction for the data transition information 150 to the data transition information generation unit 122. (Step S1106).
  • the data transition information generation unit 122 starts processing upon receiving an instruction. When the generation process of the data transition information 150 ends, the data transition information generation unit 122 notifies the debugger control unit 121 to that effect. Details of the processing executed by the data transition information generation unit 122 will be described later with reference to FIG.
  • the debugger control unit 121 When receiving the notification that the data transition information 150 has been generated, the debugger control unit 121 outputs a generation instruction for the display information 210 to the display information generation unit 123 (step S1107).
  • the display information generation unit 123 starts processing upon receiving an instruction. Details of the processing executed by the display information generation unit 123 will be described later with reference to FIGS. 15A and 15B.
  • the debugger control unit 121 outputs a screen display instruction indicating data transition based on the display information generated in the display information generation unit 123 (step S1108), and the process proceeds to step S1109.
  • the debugger control unit 121 may simultaneously output a display information 210 generation instruction and a screen display instruction.
  • FIG. 13 is an explanatory diagram illustrating an example of a screen displayed on the display 160 when the debugger 120 is executed in the first embodiment.
  • FIG. 13 shows a screen displayed when the debugger control unit 121 is executing processing.
  • the debugger display screen 1300 displays the processing contents and processing results of the debugger 120.
  • the debugger display screen 1300 includes a source display area 1310.
  • the source display area 1310 displays the source code being processed by the debugger 120.
  • a predetermined number of commands are displayed.
  • a pointer 1311 indicating the currently executed command statement is displayed.
  • FIG. 14 is a flowchart for explaining processing executed by the data transition information generation unit 122 in the first embodiment.
  • the data transition information generation unit 122 starts processing upon receiving a processing start instruction from the debugger control unit 121.
  • the data transition information generation unit 122 acquires a line number corresponding to the currently executed command statement from the debugger control unit 121 (step S1401). For example, a method in which the data transition information generation unit 122 makes an inquiry to the debugger control unit 121, a method in which the data transition information generation unit 122 acquires from a start instruction received from the debugger control unit 121, and the like can be considered.
  • the data transition information generation unit 122 acquires an execution command statement corresponding to the acquired line number (step S1402). Specifically, the data transition information generation unit 122 refers to the source code information 1200 based on the acquired line number, and acquires an execution command statement that matches the acquired line number.
  • the data transition information generation unit 122 determines whether or not all input data and output data related to the acquired execution command statement have been acquired (step S1403). Specifically, the data transition information generation unit 122 refers to the command information 1210 based on the acquired line number, and determines whether all input data and output data have been acquired from the corresponding record.
  • the data transition information generation unit 122 stores the acquired information in the data transition information 150 (step 1408) and processing Exit. Specifically, the data transition information generation unit 122 generates log information 701 from the acquired information, and stores the generated log information 701 in the data transition information 150.
  • the data transition information generation unit 122 acquires the input / output data 503 from the command information 1210 (step S1404). Specifically, the data transition information generation unit 122 acquires one piece of data from the input / output data 503 of the record corresponding to the line number 501 of the instruction information 1210.
  • the data transition information generation unit 122 acquires the line number of the command statement in which the acquired data is defined (step S1405).
  • the data transition information generation unit 122 acquires a corresponding data value based on the acquired row number (step S1406). Specifically, the data transition information generation unit 122 refers to the data value information 1220 based on the acquired line number, and acquires a record corresponding to the acquired line number.
  • the data value information 320 acquires the data name and data value from the acquired record (step S1407), and returns to step S1403. Thereafter, the same processing is executed.
  • 15A and 15B are flowcharts for explaining processing executed by the display information generation unit 123 in the first embodiment.
  • the display information generation unit 123 determines whether there is unprocessed log information 701 (step S1501). For example, it is determined whether all log information 701 has been read from the data transition information 150.
  • the display information generation unit 123 ends the process.
  • the display information generation unit 123 reads one piece of log information 701 from the data transition information 150, and displays a command included in the read log information 701. A display pointer is generated (step S1502).
  • the display information generation unit 123 extracts information corresponding to a command from the read log information 701, and generates a display point (position information) for displaying an icon corresponding to the command.
  • the display information generation unit 123 generates a new record in the display information 210, and stores the information in the type 801, the line number 802, the command word / data name 803, and the position 805 of the generated record.
  • C is stored in the type 801, and information of the log information 701 is stored in the line number 802 and the instruction word / data name 803.
  • the display information generation unit 123 extracts the command word “COMPUTE” from the command having the line number “537” from the log information 701 illustrated in FIG. 7, and stores the command word “COMPUTE” in each of the line number 802 and the command word / data name 803. Store. Further, the generated display point is stored at the position 805. Since the display point generation method is a well-known technique, the description thereof is omitted.
  • the display information generation unit 123 determines whether or not the processing for all the input data and output data included in the read log information 701 has been completed (step S1503).
  • the display information generation unit 123 When it is determined that the processing for the input data and the output data included in the read log information 701 has been completed, the display information generation unit 123 returns to step S1501 and executes the same processing.
  • the display information generation unit 123 extracts and extracts information related to the data from the log information 701. It is determined whether the received information relates to input data (step S1504). Here, the type, line number, data name, and data value are extracted.
  • the display information generation unit 123 refers to the log information 701 and determines whether or not the type of the extracted information is “I”. When the type is “I”, it is determined that the extracted information is related to the input data.
  • the display information generation unit 123 searches the display information 210 for the same data (step S1505) and determines whether the same data is found. (Step S1506).
  • the display information generation unit 123 searches the display information 210 for a record that matches the line number of the input data. As a search method, a record higher than the record generated in step S1502 is searched.
  • step S1508 If the same data is found from the display information 210, the display information generation unit 123 proceeds to step S1508.
  • the display information generation unit 123 If the same data is not found from the display information 210, the display information generation unit 123 generates a display point for displaying the input data (step S1507). This is because the input data is input for the first time.
  • the display information generation unit 123 generates a display point for displaying an icon indicating input data on the debugger display screen 1300.
  • the display information generation unit 123 generates a new record in the display information 210 and stores information in the generated record type 801, line number 802, instruction word / data name 803, data value 804, and position 805. .
  • “D” is stored in the type 801, and information of the log information 701 is stored in the line number 802, the command / data name 803 and the data value 804. In the position 805, the generated display point is stored.
  • the display information generation unit 123 associates the command with the input data (step S1508), returns to step S1503, and executes the same processing.
  • the display information generating unit 123 stores the same display point as the record position 805 corresponding to the command in the related information position 806 of the record corresponding to the input data of the display information 210.
  • step S1504 When it is determined in step S1504 that the extracted data is not input data, that is, output data, the display information generation unit 123 generates a display point for displaying the output data (step S1509).
  • the display information generation unit 123 generates a display point for displaying an icon indicating output data on the debugger display screen 1300.
  • the display information generation unit 123 generates a new record in the display information 210 and stores information in the generated record type 801, line number 802, instruction word / data name 803, data value 804, and position 805. .
  • “D” is stored in the type 801, and information of the log information 701 is stored in the line number 802, the command / data name 803 and the data value 804. In the position 805, the generated display point is stored.
  • the display information generation unit 123 associates the command with the output data (step S1510), returns to step S1503, and executes the same processing.
  • the display information generation unit 123 stores the same display point as the record position 805 corresponding to the output data in the related information position 806 of the record corresponding to the instruction of the display information 210.
  • FIG. 16A and FIG. 16B are flowcharts for explaining processing executed by the display information generation unit 123 in the first embodiment.
  • the display information generation unit 123 determines whether there is an unprocessed record in the display information 210 (step S1601). Specifically, it is determined whether or not processing has been completed for all records of the display information 210.
  • the display information generation unit 123 ends the process.
  • the display information generation unit 123 reads one record from the display information 210 (step S1602).
  • the display information generation unit 123 refers to the read record type 801 to determine whether the record is a command record (step S1603). Specifically, the display information generation unit 123 determines whether or not the type 801 of the acquired record is “C”.
  • the display information generation unit 123 displays an icon corresponding to the instruction at a predetermined position based on the position 805 of the read record (step S1604).
  • the display information generation unit 123 determines whether there is output data output from the command (step S1605). Specifically, it is determined whether or not the related information position 806 of the read record is blank. If the related information position 806 of the read record is blank, it is determined that there is no output data output from the instruction.
  • the display information generation unit 123 If it is determined that there is no output data output from the instruction, the display information generation unit 123 returns to step S1601 and executes the same processing.
  • the display information generation unit 123 searches for output data output from the command (step S1606). Specifically, the display information generation unit 123 searches for the same record as the position 805 of the record from which the related information position 806 is acquired.
  • the display information generation unit 123 connects and displays the icon corresponding to the output data and the icon corresponding to the command based on the search result (step S1607), and returns to step S1601. For example, the display information generation unit 123 displays an arrow from an icon corresponding to the command to an icon corresponding to the output data.
  • step S1603 If it is determined in step S1603 that the record is not a command-related record, that is, a record related to data, the display information generation unit 123 is based on the command word / data name 803, the data value 804, and the position 805 of the read record. The icon corresponding to the data is displayed at a predetermined position (step S1608).
  • the display information generation unit 123 determines whether there is an instruction for inputting data (step S1609). Specifically, it is determined whether or not the related information position 806 of the read record is blank. If there is an instruction to which data is input, this indicates that the data is a record relating to input data.
  • the display information generation unit 123 When it is determined that there is no command for inputting data, the display information generation unit 123 returns to step S1601 and executes the same processing.
  • the display information generation unit 123 searches for an instruction that is a data input destination (step S1610). Specifically, the display information generation unit 123 searches for the same record as the position 805 of the record from which the related information position 806 is acquired.
  • the display information generation unit 123 connects and displays the icon corresponding to the command and the icon corresponding to the input data based on the search result (step S1611), and returns to step S1601. For example, the display information generation unit 123 displays an arrow from the icon corresponding to the input data to the icon corresponding to the command.
  • the display information generation unit 123 does not have to execute display processing, and other components such as the debugger control unit 121 may execute similar processing.
  • step S1502 the display information generation unit 123 displays an icon corresponding to the command based on the generated display pointer.
  • step S1508 the display information generation unit 123 connects and displays an icon corresponding to the command and an icon corresponding to the data.
  • step S1510 the display information generation unit 123 connects and displays an icon corresponding to the data and an icon corresponding to the command.
  • FIG. 17 is an explanatory diagram showing an example of a screen displayed on the display 160 in the first embodiment.
  • the debugger display screen 1300 newly includes a data transition display area 1701.
  • the data transition display area 1701 displays a diagram representing the transition relationship between instructions and data.
  • the command is displayed using a round icon, and the data is displayed using a square icon.
  • a data name and a data value are displayed on the icon representing data.
  • the input data and output data related to the command are connected by arrows.
  • the icon representing the instruction currently being processed is colored and highlighted.
  • the debugger 120 displays a debugger display screen 1300 as shown in FIG. 17 based on the display information 210. Note that the debugger 120 may display the data transition display area 1601 after the debugger control unit 121 completes all the processes, or the data transition display area 1601 every time the display information generation unit 123 generates a display point. May be updated and displayed. Further, the data transition display area 1701 may be updated at predetermined intervals.
  • the maintenance staff can check the data transition in the order of execution of the application program 110 in debugging, it is possible to easily identify the data in which an abnormality has occurred and the instruction to output the data. it can. Therefore, efficient debugging is possible.
  • the debugger control unit 121 displays a screen every time the display information 210 is generated.
  • the operation test of the application program 110 executes a plurality of test cases and confirms the results later. Therefore, the second embodiment is different in that display information 210 for each test case is generated and displayed according to a request from the maintenance manager.
  • the computer system of the second embodiment is the same as the computer system of the first embodiment, description thereof is omitted. Further, since the hardware configuration of the computer 100 is the same, the description thereof is omitted. Since the debug information 140 and the display information 210 are the same, description thereof is omitted.
  • FIG. 18 is a flowchart for explaining processing executed by the debugger control unit 121 in the second embodiment.
  • the debugger control unit 121 since the data transition information 150 is generated for each test case, the debugger control unit 121 first determines the output destination of the data transition information 150 (step S1801). For example, a method of accepting an output destination file name from a maintenance person can be considered.
  • the file name corresponds to the identifier of the test case.
  • step S1101 to step S1106 and step S1109 are the same processing, description thereof is omitted.
  • the second embodiment is different in that step S1108 is omitted because the processing of the display information generation unit 123 is performed independently. That is, in the second embodiment, the debugger 120 executes a process corresponding to step S1108 after receiving an execution instruction from the maintenance staff.
  • FIG. 19 is an explanatory diagram showing an example of a screen displayed on the display 160 in the second embodiment.
  • the debugger display screen 1300 newly includes a test case selection area 1910.
  • the test case selection area 1810 displays information for selecting a test case. Specifically, the identifier of the test case is displayed.
  • the test case identifier is the name of the output destination determined in step S1701.
  • a display processing start instruction is notified to the debugger 120.
  • the notification includes the identifier of the selected test case.
  • the debugger 120 When the debugger 120 receives the start instruction, the debugger 120 starts the display information generation unit 123.
  • the display information generation unit 123 executes the same processing as in FIGS. 16A and 16B. However, a step of determining the data transition information 150 to be read based on the identification information included in the start instruction is added before step S1601.
  • the second embodiment it is possible to refer to the data transition without executing the debugger 120 again for the bug found in the test case. Therefore, data having an abnormal value and logic that causes the generation of the data can be found, so that debugging can be performed efficiently.
  • the third embodiment is different in that a predetermined range of execution results can be referred to.
  • the debugging work of the maintenance manager can be improved by displaying only relevant information starting from an arbitrary time point or arbitrary data. Furthermore, by specifying the direction in which data is generated or the direction in which the data is traced as the direction of data transition, more efficient debugging can be realized.
  • the third embodiment is different from the first embodiment in that the generation of a record each time a loop process is executed is suppressed.
  • the description thereof is omitted. Further, since the hardware configuration of the computer 100 is the same, the description thereof is omitted.
  • FIG. 20 is an explanatory diagram showing data value information 1220 in the third embodiment. Since the source code information 1200 and the instruction information 1210 are the same as those in the first embodiment, description thereof is omitted.
  • the configuration of the data value information is different. That is, the information regarding the first loop process includes a line number 2001, a data name 2002, a data value 2003, and a pointer 2004.
  • the address value 2004 represents an address on the main storage device 202 where the data value in another loop process is stored.
  • FIG. 21 is an explanatory diagram showing an example of the display information 210 in the third embodiment.
  • the display information 210 newly includes a pointer 2101.
  • the pointer 2101 stores an address on the main storage device 202 where the data value in the loop processing is stored. As a result, an increase in records due to loop processing can be suppressed.
  • the pointer 2101 is the same as the pointer 2004.
  • 22A, 22B, and 22C are flowcharts for explaining processing executed by the display information generation unit 123 in the third embodiment.
  • the display information generation unit 123 starts processing upon receiving a starting point and a display direction for generating the display information 210 (step S2201).
  • the starting point indicates the starting point of the display information 210, and a data value or log information 701 is designated.
  • the display direction indicates the direction of data transition, and either a direction in which data is generated (fore direction) or a direction in which data is traced (back direction) is designated.
  • the display information generation unit 123 can identify the log information 701 to be processed by referring to the data transition information 150 based on the designated data.
  • the display information generation unit 123 searches for log information 701 related to the log information 701 to be processed (step S2202).
  • the search method differs depending on the designated display direction.
  • log information 701 related to the log information 701 to be processed is also referred to as related log information 701.
  • the display information generation unit 123 searches the lower log information 701 from the log information 701 as a starting point. Specifically, the log information 701 in which the line number of the output data included in the log information 701 as the starting point matches the line number of the input data included in the lower-level log information 701 is searched.
  • the display information generation unit 123 searches the upper log information 701 from the log information 701 as a starting point. Specifically, the log information 701 in which the line number of the input data included in the starting log information 1301 matches the line number of the output data included in the higher-level log information 701 is searched.
  • the display information generation unit 123 determines whether or not there is unprocessed log information 701 as a result of the above search (step S2203).
  • step S2002 if there is no related log information 701 as a result of the search in step S2002, or if there is related log information 701 but all of it has been processed, it is determined that there is no unprocessed log information 701. .
  • the display information generation unit 123 ends the process.
  • the display information generation unit 123 reads one piece of related log information 701 from the data transition information 150, and a record corresponding to the command included in the related log information 701 has been generated. It is determined whether or not (step S2204).
  • the display information generation unit 123 refers to the display information 210 based on the line number of the command included in the related log information 701 and determines whether or not a record having the same line number 802 exists. .
  • step S2206 If it is determined that the record corresponding to the command included in the related log information 701 has been generated, the display information generation unit 123 proceeds to step S2206.
  • the display information generation unit 123 When it is determined that the record corresponding to the command included in the related log information 701 has not been generated, the display information generation unit 123 generates a display pointer for displaying the command included in the log information 701 (step S2205). .
  • the display information generation unit 123 generates a display point for displaying an icon indicating an instruction on the debugger display screen 1300.
  • the display information generation unit 123 generates a new record in the display information 210, and stores the information in the type 801, the line number 802, the command word / data name 803, and the position 805 of the generated record.
  • C is stored in the type 801, and information of the log information 701 is stored in the line number 802 and the instruction word / data name 803.
  • the display information generation unit 123 extracts the command word “COMPUTE” from the command having the line number “537” from the log information 701 shown in FIG. Store. Further, the generated display point is stored at the position 805.
  • the display information generation unit 123 determines whether or not the processing for all the input data and output data included in the related log information 701 has been completed (step S2206).
  • the display information generation unit 123 When it is determined that the processing for the input data and output data included in the related log information 701 has been completed, the display information generation unit 123 returns to step S2202 and executes the same processing.
  • step S2207 the display information generation unit 123 extracts data from the related log information 701, and the extracted data is input. It is determined whether it is data (step S2207). The process of step S2207 is the same process as step S1504.
  • the display information generation unit 123 determines whether the display direction is the fore direction (step S2208).
  • step S2211 When the display direction is not the fore direction (back direction), the display information generation unit 123 proceeds to the process of step S2211, and when the display direction is the fore direction, the process proceeds to step S2209.
  • the display information generation unit 123 searches the display information 210 for the same data (step S2209), and determines whether the same data is found (step S2210).
  • the display information generation unit 123 A record matching the line number corresponding to the extracted input data is searched from the display information 210. As a search method, a record higher than the record generated in step S2205, that is, a record is searched in the back direction.
  • the display information generating unit 123 generates a display point for displaying the input data (step S2211).
  • the display information generation unit 123 generates a display point for displaying an icon indicating input data on the debugger display screen 1300. Further, the display information generation unit 123 generates a new record in the display information 210 and stores information in the generated record type 801, line number 802, command / data name 803, data value 804, and position 805. .
  • “D” is stored in the type 801, and the log information 701 is stored in the line number 802, the instruction word / data name 803, and the data value 804. In the position 805, the generated display point is stored.
  • processing is different.
  • the display information generation unit 123 determines whether an address is stored in the pointer 2004.
  • the display information generation unit 123 proceeds to the next process without updating the data value 804 and the pointer 2004.
  • the display information generation unit 123 stores the address where the input data is stored in the pointer 2004.
  • the display information generation unit 123 associates the command with the input data (step S2212), returns to step S2206, and executes the same processing.
  • the display information generating unit 123 stores the same display point as the record position 805 corresponding to the command in the related information position 806 of the record corresponding to the input data of the display information 210.
  • step S2207 When it is determined in step S2207 that the extracted data is not input data, that is, output data, the display information generation unit 123 first determines whether or not the display direction is the fore direction (step S2213). . If the display direction is the fore direction, the process proceeds to step S2216. If the display direction is not the fore direction (back direction), the process proceeds to step S2214.
  • the display information generation unit 123 searches for the same data from the display information 210 (step S2214), and determines whether the same data is found (step S2215).
  • the display information generation unit 123 The display information 210 is searched for a record that matches the line number corresponding to the extracted output data.
  • a search method a record higher than the record generated in step S2205, that is, a record is searched in the back direction.
  • step S2217 If the same data is found from the display information 210, the display information generation unit 123 proceeds to step S2217.
  • the display information generation unit 123 If the same data is not found from the display information 210, the display information generation unit 123 generates a display point for displaying the output data (step S2216).
  • the display information generation unit 123 generates display points. Further, the display information generation unit 123 generates a new record in the display information 210 and stores information in the generated record type 801, line number 802, command / data name 803, data value 804, and position 805. .
  • “D” is stored in the type 801, and information of the log information 701 is stored in the line number 802, the command / data name 803 and the data value 804. In the position 805, the generated display point is stored.
  • processing is different.
  • the display information generation unit 123 determines whether an address is stored in the pointer 2004.
  • the display information generation unit 123 proceeds to the next process without updating the data value 804 and the pointer 2004.
  • the display information generation unit 123 stores an address in which output data is stored in the pointer 2004.
  • the display information generation unit 123 associates the command with the output data (step S2217), returns to step S2206, and executes the same processing.
  • the display information generation unit 123 stores the same display point as the record position 805 corresponding to the command in the related information position 806 of the record corresponding to the output data of the display information 210.
  • the display process differs from the first embodiment in the following points.
  • step S1601 to step S1606 is the same as that in the first embodiment.
  • the display information generation unit 123 refers to the command information 1210 and the data value information 1220 based on the record corresponding to the retrieved output data. Further, the display information generation unit 123 determines whether an address is stored in the pointer 2004 of the corresponding data value.
  • the display information generation unit 123 acquires all related output data from the data value information 1220.
  • the display information generation unit 123 connects and displays an icon corresponding to the command and an icon corresponding to the output data. Further, the display information generation unit 123 highlights an icon corresponding to the output data. Note that all data values of output data for each loop may be displayed on an icon corresponding to the output data.
  • step 1608 the display information generation unit 123 refers to the command information 1210 and the data value information 1220 based on the record corresponding to the data. Further, the display information generation unit 123 determines whether an address is stored in the pointer 2004 of the corresponding data value.
  • the display information generation unit 123 acquires all related data from the data value information 1220.
  • the display information generating unit 123 connects and displays an icon corresponding to the command and an icon corresponding to the input data. Further, the display information generation unit 123 highlights an icon corresponding to the input data. Note that all data values of input data for each loop may be displayed on an icon corresponding to the input data.
  • Steps 1609 to 1611 are the same as those in the first embodiment.
  • FIG. 23 is an explanatory diagram showing an example of a screen displayed on the display 160 in the third embodiment.
  • the debugger display screen 1300 newly includes a display direction selection area 2310, a data value selection area 2320, and a data transition information display area 2330.
  • the display direction selection area 2310 displays information for selecting the display direction. In the example shown in FIG. 23, either the fore direction or the back direction can be selected.
  • the data value selection area 2320 displays information for selecting the starting data.
  • Data transition information display area 2330 displays data transition information 150.
  • icons corresponding to loop processing are highlighted among icons representing data.
  • control is performed so that data values related to loop processing are displayed from the loop processing information 200.
  • the third embodiment even when debugging a large-scale program, it is possible to avoid displaying a large amount of data transition and display a data transition diagram starting from data or an instruction to be referred to. .
  • debugging efficiency can be improved because there is no need to display data that need not be referenced. Further, by specifying the display direction, it is possible to refer to the use of data (fore) and the data generation path (back) from the starting point. Therefore, it is possible to display data transitions according to the debugging intention of a maintenance person or the like, and efficient debugging is possible.

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

Provided is a debugging assistance method for displaying the transition status of data in which a fault occurred, and for improving the efficiency of debugging by maintenance staff. The invention is a computer-based debugging assistance method that identifies a problem in a program and revises the program. The computer stores debugging information. The debugging assistance method includes: a step that, when the computer receives a debugging process start command, references the debugging information and executes an execution command statement containing a function; a step that, on the basis of the execution result for the execution command statement, generates data transition information that includes log information, said log information being configured from the function, input data entered in the function, and output data output from the function; and a step that, on the basis of the data transition information, generates display information for the purpose of displaying the status of the transition between the function and the input data, and the status of the transition between the function and the output data.

Description

デバッグ支援方法、計算機及びデバッグ支援プログラムDebugging support method, computer and debugging support program
 本発明は、プログラム開発及び保守におけるデバッグを支援する方法、計算機及びプログラムに関する。 The present invention relates to a method, a computer, and a program for supporting debugging in program development and maintenance.
 プログラムの開発では、ソースプログラムの編集機能、コンパイル・リンク機能(ビルド機能とも言う)、デバッグ支援機能(デバッガ)が必須である。特に、デバッガは、プログラムが保守担当者等の意図と異なる動き(不具合)をした場合、その不具合の現象の把握、不具合の原因箇所の発見、原因に至った別の不具合の発見など、プログラムの動きの把握等のデバッグを支援する機能を提供する。 In the development of a program, a source program editing function, a compile / link function (also called a build function), and a debugging support function (debugger) are essential. In particular, if the program moves differently from the intention of the person in charge of maintenance (problem), the debugger can understand the problem of the problem, find the cause of the problem, find another problem that caused the problem, etc. Provides functions that support debugging, such as grasping movements.
 一般的なデバッガは、ビルド済みのプログラムを実行し、任意の実行ポイントで停止し、そのポイントが関係するデータ項目(変数)のデータ値を参照し、その後、停止中のプログラムを再開し、実行を継続する機能を基本的機能として有する。 A typical debugger executes a built program, stops at an arbitrary execution point, refers to the data value of the data item (variable) to which that point relates, and then restarts and executes the stopped program As a basic function.
 従来のデバッガでは、プログラムの実行を停止する箇所をブレークポイントとして指定することができる。しかし、ブレークポイント以外のところでは、データ値は命令の実行と共に逐次変化していく。したがって、データ値の参照を見過ごすことによって、再度プログラムを先頭から実行する必要があり非効率なデバッグとなる。そのため効率的なデバッグを実現するための発明が複数なされている。 In the conventional debugger, the location where program execution stops can be specified as a breakpoint. However, except for the breakpoint, the data value changes sequentially with the execution of the instruction. Therefore, by overlooking the reference of the data value, it is necessary to execute the program again from the beginning, resulting in inefficient debugging. Therefore, a plurality of inventions for realizing efficient debugging have been made.
 例えば、特許文献1には、プログラムの実行結果を実行履歴として蓄積し、制御及びデータフローを解析し、エラーと思われるデータを起点に、不具合を発生させた文(命令文)の集合を特定するデバッガが開示されている。 For example, in Patent Document 1, the execution result of a program is accumulated as an execution history, control and data flow are analyzed, and a set of sentences (instruction sentences) causing a defect is specified from data that seems to be an error. A debugger is disclosed.
 特許文献1に開示されたデバッガでは、従来のデバッガのように、逐次プログラムの実行結果の表示及びプログラムの実行を繰り返すのではなく、プログラムの実行後に分析ができ、不具合候補となる文(命令文)の集合を特定することができる。したがって、文(命令文)の実行に伴うデータ値の参照を見逃すことを防ぐ効果がある。 The debugger disclosed in Patent Document 1 does not repeat the display of the execution result of the sequential program and the execution of the program, unlike the conventional debugger, but can analyze after the execution of the program, and can be a defect candidate sentence (command sentence). ) Can be specified. Therefore, there is an effect of preventing the reference of the data value accompanying execution of the statement (command statement) from being overlooked.
 また、非特許文献1には、特定のイベントが発生した場合、そのイベントの発生時点における情報を蓄積し、その後参照することができる機能を備えたエラー原因究明装置が開示されている。デバッガの起動中に発生したイベントの一覧を表示し、任意のイベントを指示することによってそのイベントが発生した状態を画面に表示し、データ値などを確認することができる。イベントにはブレークポイントも含まれるため、ループなど頻繁に止まる場合もブレークポイントでスルーする設定をすることによって、プログラムの実行後に、任意のブレークポイントの状態に戻すことができ、データ値の参照を見逃すことを防ぐ効果がある。 Also, Non-Patent Document 1 discloses an error cause investigation device having a function of storing information at the time of occurrence of a specific event and referring to it when a specific event occurs. By displaying a list of events that occurred during the startup of the debugger and instructing an arbitrary event, the state where the event occurred can be displayed on the screen, and data values and the like can be confirmed. Since events include breakpoints, you can return to the state of any breakpoint after program execution by setting it to break through even if it stops frequently, such as loops, and you can reference data values. It has the effect of preventing oversight.
特開平6-175884号公報Japanese Patent Laid-Open No. 6-175484
 ところで、バグの発見には、一般的に、不具合が発生したデータ値に至るデータ値の遷移情報が必要である。従来のデバッガでは、保守担当者等が命令毎に逐次指示してデータ値を表示しなければならないため、不具合に至ったデータ値の遷移は保守担当者等が予測しなければならず、デバッグの効率が下がってしまう。 By the way, in order to find a bug, generally, transition information of a data value that leads to a data value in which a defect has occurred is necessary. In conventional debuggers, maintenance personnel, etc. must instruct each instruction sequentially to display data values, so the transition of data values that lead to failures must be predicted by maintenance personnel, etc. Efficiency is reduced.
 例えば、特許文献1に記載されたエラー原因究明装置は、着目した不具合を示すデータ値を持つ変数を起点とし、そのデータ値の生成に関わった文(命令文)を実行順とは逆方向にデータ値のフローを生成する。したがって、生成されたフローは、文(命令文)の関連性を示すフローであり、データ値の遷移は、文(命令文)の詳細から逐次参照しなければならないという問題点がある。 For example, the error cause investigation device described in Patent Document 1 starts from a variable having a data value indicating a noticed failure, and a statement (command statement) related to the generation of the data value in a direction opposite to the execution order. Generate a flow of data values. Therefore, the generated flow is a flow indicating the relevance of the sentence (command sentence), and there is a problem that the transition of the data value must be sequentially referred to from the details of the sentence (command sentence).
 また、非特許文献1に記載されたデバッガが備える機能は、イベントの履歴からデータ値の変遷を参照するために、記録されたイベントを逐次参照しなければならないという問題点がある。さらに、特定のイベントのみトレースするという制約があるため、全ての命令に関するデータ値の情報を保持することができず、実行後に命令単位にデータ値を確認することができないという問題点がある。 Also, the function provided in the debugger described in Non-Patent Document 1 has a problem that the recorded events must be sequentially referred to in order to refer to the transition of the data value from the event history. Further, since there is a restriction that only a specific event is traced, there is a problem that data value information regarding all instructions cannot be held, and data values cannot be confirmed in units of instructions after execution.
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の命令文を含むソースコードをコンパイルすることによって生成されたプログラムにおける障害を特定し、前記プログラムを修正する計算機におけるデバッグ支援方法であって、前記計算機は、プロセッサと、前記プロセッサに接続される主記憶装置と、前記プロセッサに接続される副記憶装置とを備え、前記計算機は、前記ソースコードをコンパイルすることによって生成されたデバッグ情報を格納し、前記デバッグ情報は、少なくとも、前記ソースコードにおける前記命令文の位置を示す位置番号、前記命令文に含まれる関数の名称及び前記命令文に含まれるデータの名称を含み、前記方法は、前記計算機が、デバッグ処理の開始命令を受け付けると、前記デバッグ情報を参照して、前記関数を含む実行系の命令文を実行する第1のステップと、前記計算機が、前記実行系の命令文の実行結果に基づいて、前記関数、前記関数に入力される入力データ及び前記関数から出力される出力データから構成されるログ情報を含むデータ遷移情報を生成する第2のステップと、前記計算機が、前記データ遷移情報に基づいて、前記関数と前記入力データとの遷移状態及び前記関数と前記出力データとの遷移状態を表示するための表示情報を生成する第3のステップと、を含むことを特徴とする。 A typical example of the invention disclosed in the present application is as follows. That is, a debugging support method in a computer for identifying a failure in a program generated by compiling a source code including a plurality of statements and correcting the program, the computer being connected to the processor and the processor A main storage device that is connected to the processor, and the computer stores debug information generated by compiling the source code, and the debug information is at least the source Including a position number indicating the position of the statement in the code, a name of a function included in the statement, and a name of data included in the statement, and when the computer receives a debug process start command , Execute the execution system statement including the function with reference to the debug information Log information composed of the function, the input data input to the function, and the output data output from the function, based on the execution result of the execution statement of the execution system And the computer displays a transition state between the function and the input data and a transition state between the function and the output data based on the data transition information. And a third step of generating display information for the purpose.
 本発明の一形態によれば、関数とデータの値との遷移や関連性を容易に把握でき、デバッグの効率が向上する。 According to one aspect of the present invention, the transition and relationship between functions and data values can be easily grasped, and debugging efficiency is improved.
第1実施形態におけるプログラムのデバッグ環境を実現する計算機システムの構成を説明するブロック図である。It is a block diagram explaining the structure of the computer system which implement | achieves the debugging environment of the program in 1st Embodiment. 第1実施形態における計算機のハードウェア構成を説明するブロック図である。It is a block diagram explaining the hardware constitutions of the computer in 1st Embodiment. 第1実施形態におけるデバッグ情報の一例を示す説明図である。It is explanatory drawing which shows an example of the debug information in 1st Embodiment. 第1実施形態におけるソースコード情報の一例を示す説明図である。It is explanatory drawing which shows an example of the source code information in 1st Embodiment. 第1実施形態における命令情報の一例を示す説明図である。It is explanatory drawing which shows an example of the command information in 1st Embodiment. 第1実施形態におけるデータ値情報の一例を示す説明図である。It is explanatory drawing which shows an example of the data value information in 1st Embodiment. 第1実施形態におけるデータ遷移情報の一例を示す説明図である。It is explanatory drawing which shows an example of the data transition information in 1st Embodiment. 第1実施形態における表示情報の一例を示す説明図である。It is explanatory drawing which shows an example of the display information in 1st Embodiment. 第1実施形態におけるアプリケーションプログラムの実行時に表示される画面の一例を示す説明図である。It is explanatory drawing which shows an example of the screen displayed at the time of execution of the application program in 1st Embodiment. 第1実施形態におけるアプリケーションプログラムの実行時に表示される画面の一例を示す説明図である。It is explanatory drawing which shows an example of the screen displayed at the time of execution of the application program in 1st Embodiment. 第1実施形態におけるデバッガ制御部によって実行される処理を説明するフローチャートである。It is a flowchart explaining the process performed by the debugger control part in 1st Embodiment. 第1実施形態における主記憶装置に読み出されたデバッグ情報を示す説明図である。It is explanatory drawing which shows the debug information read by the main memory in 1st Embodiment. 第1実施形態におけるデバッガの実行時にディスプレイに表示される画面の一例を示す説明図である。It is explanatory drawing which shows an example of the screen displayed on a display at the time of execution of the debugger in 1st Embodiment. 第1実施形態におけるデータ遷移情報生成部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the data transition information generation part in 1st Embodiment performs. 第1実施形態における表示情報生成部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the display information generation part in 1st Embodiment performs. 第1実施形態における表示情報生成部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the display information generation part in 1st Embodiment performs. 第1実施形態における表示情報生成部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the display information generation part in 1st Embodiment performs. 第1実施形態における表示情報生成部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the display information generation part in 1st Embodiment performs. 第1実施形態におけるディスプレイに表示される画面の一例を示す説明図である。It is explanatory drawing which shows an example of the screen displayed on the display in 1st Embodiment. 第2実施形態におけるデバッガ制御部によって実行される処理を説明するフローチャートである。It is a flowchart explaining the process performed by the debugger control part in 2nd Embodiment. 第2実施形態におけるディスプレイに表示される画面の一例を示す説明図である。It is explanatory drawing which shows an example of the screen displayed on the display in 2nd Embodiment. 第3実施形態におけるデータ値情報を示す説明図である。It is explanatory drawing which shows the data value information in 3rd Embodiment. 第3実施形態における表示情報の一例を示す説明図である。It is explanatory drawing which shows an example of the display information in 3rd Embodiment. 第3実施形態における表示情報生成部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the display information generation part in 3rd Embodiment performs. 第3実施形態における表示情報生成部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the display information generation part in 3rd Embodiment performs. 第3実施形態における表示情報生成部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the display information generation part in 3rd Embodiment performs. 第3実施形態におけるディスプレイに表示される画面の一例を示す説明図である。It is explanatory drawing which shows an example of the screen displayed on the display in 3rd Embodiment.
 以下、本発明を図面とあわせて詳細に説明する。 Hereinafter, the present invention will be described in detail with reference to the drawings.
 [第1実施形態] [First embodiment]
 図1は、第1実施形態におけるプログラムのデバッグ環境を実現する計算機システムの構成を説明するブロック図である。 FIG. 1 is a block diagram illustrating a configuration of a computer system that realizes a program debugging environment according to the first embodiment.
 本実施形態における計算機システムは、計算機100、ディスプレイ160及び入出力装置170から構成される。 The computer system in this embodiment includes a computer 100, a display 160, and an input / output device 170.
 計算機100は、デバッグ支援機能を提供する計算機である。計算機100は、アプリケーションプログラム110、デバッガ120、業務用DB130、デバッグ情報140及びデータ遷移情報150を有する。 The computer 100 is a computer that provides a debugging support function. The computer 100 includes an application program 110, a debugger 120, a business DB 130, debug information 140, and data transition information 150.
 アプリケーションプログラム110は、デバッグ対象のプログラムである。アプリケーションプログラム110は、コンパイラ(図示省略)がソースコードをコンパイルすることによって生成される。アプリケーションプログラム110には、バグが発生した箇所を特定するための情報として、シンボル情報が埋め込まれている。 Application program 110 is a program to be debugged. The application program 110 is generated when a compiler (not shown) compiles the source code. In the application program 110, symbol information is embedded as information for specifying a location where a bug has occurred.
 シンボル情報には、関数名、変数名、ソースコードを構成する命令文の位置などの情報が含まれる。なお、命令文には、命令(関数)を定義する文と、データを定義する文とが含まれる。以下、命令(関数)を定義する命令文を実行系の命令文とも記載する。 The symbol information includes information such as the function name, variable name, and the position of the command statement constituting the source code. The command statement includes a statement that defines a command (function) and a statement that defines data. Hereinafter, an instruction statement that defines an instruction (function) is also referred to as an execution instruction sentence.
 本実施形態では、COBOL言語を用いてソースコードをコンパイルしたアプリケーションプログラム110を対象とする。なお、本発明は、コンピュータ言語に限定されない。 In this embodiment, an application program 110 in which source code is compiled using the COBOL language is targeted. Note that the present invention is not limited to a computer language.
 デバッガ120は、デバッグ支援機能を提供するプログラムである。デバッガ120は、アプリケーションプログラム110を実行して、その実行結果に基づいてバグを検索し、バグの修正を行う。 The debugger 120 is a program that provides a debugging support function. The debugger 120 executes the application program 110, searches for a bug based on the execution result, and corrects the bug.
 デバッガ120は、デバッガ制御部121、データ遷移情報生成部122及び表示情報生成部123を含む。なお、本実施形態では、デバッガ120に、コンパイラも含まれているものとする。 The debugger 120 includes a debugger control unit 121, a data transition information generation unit 122, and a display information generation unit 123. In the present embodiment, the debugger 120 includes a compiler.
 デバッガ制御部121は、デバッガ120の処理を制御する。デバッガ制御部121は、アプリケーションプログラム110を実行し、また、その実行結果に基づいてバグの検索及び修正等の処理を実行する。 The debugger control unit 121 controls the processing of the debugger 120. The debugger control unit 121 executes the application program 110 and executes processing such as bug search and correction based on the execution result.
 データ遷移情報生成部122は、データ遷移情報150に格納するログ情報を生成する。データ遷移情報生成部122の具体的な処理については、図14を用いて後述する。 The data transition information generation unit 122 generates log information to be stored in the data transition information 150. Specific processing of the data transition information generation unit 122 will be described later with reference to FIG.
 表示情報生成部123は、表示情報210(図2参照)を生成する。ここで、表示情報(図2参照)は、アプリケーションプログラム110の実行時のデータ値の遷移を表示するための情報である。表示情報生成部123の具体的な処理については、図15A及び図15Bを用いて後述する。 The display information generation unit 123 generates display information 210 (see FIG. 2). Here, the display information (see FIG. 2) is information for displaying the transition of the data value when the application program 110 is executed. Specific processing of the display information generation unit 123 will be described later with reference to FIGS. 15A and 15B.
 業務用DB130は、アプリケーションプログラム110の実行に必要な情報を格納する。 The business DB 130 stores information necessary for executing the application program 110.
 デバッグ情報140は、デバッグに必要な情報、すなわち、シンボル情報が格納される。なお、デバッグ情報140は、コンパイラによって出力された情報である。デバッグ情報140については、図3を用いて後述する。 The debug information 140 stores information necessary for debugging, that is, symbol information. The debug information 140 is information output by the compiler. The debug information 140 will be described later with reference to FIG.
 データ遷移情報150は、アプリケーションプログラム110の実行内容及び実行結果を示す情報を格納する。データ遷移情報150については、図7を用いて後述する。 The data transition information 150 stores information indicating the execution contents and execution results of the application program 110. The data transition information 150 will be described later with reference to FIG.
 ディスプレイ160及び入出力装置170は、保守担当者が計算機100にデータを入力し、又は、計算機100から出力されたデータを表示するための装置である。 The display 160 and the input / output device 170 are devices for a maintenance person to input data to the computer 100 or display data output from the computer 100.
 図2は、第1実施形態における計算機100のハードウェア構成を説明するブロック図である。 FIG. 2 is a block diagram illustrating the hardware configuration of the computer 100 according to the first embodiment.
 計算機100は、プロセッサ201、主記憶装置202、補助記憶装置203及びI/Oインタフェース204を備える。なお、計算機100は、ネットワークインタフェース等他の構成を含んでいてもよい。 The computer 100 includes a processor 201, a main storage device 202, an auxiliary storage device 203, and an I / O interface 204. The computer 100 may include other configurations such as a network interface.
 プロセッサ201は、主記憶装置202に格納されるプログラムを実行する。プロセッサ201がプログラムを実行することによって、計算機100が備える機能を実現できる。 The processor 201 executes a program stored in the main storage device 202. When the processor 201 executes the program, the functions of the computer 100 can be realized.
 主記憶装置202は、プロセッサ201が実行するプログラム及びそのプログラムの実行に必要な情報を格納する。主記憶装置202は、例えばメモリ等が考えられる。主記憶装置202は、アプリケーションプログラム110、デバッガ120及び表示情報210を格納する。 The main storage device 202 stores a program executed by the processor 201 and information necessary for executing the program. The main storage device 202 may be a memory, for example. The main storage device 202 stores an application program 110, a debugger 120, and display information 210.
 表示情報210は、表示情報生成部123によって生成される情報であり、この表示情報210に基づいて、ディスプレイ160にデータ遷移を示す画面が表示される。なお、表示情報210の詳細については、図8を用いて後述する。 The display information 210 is information generated by the display information generation unit 123, and a screen indicating data transition is displayed on the display 160 based on the display information 210. Details of the display information 210 will be described later with reference to FIG.
 本実施形態では、表示情報210は、主記憶装置202に一定期間格納された後に削除されるものとしているが、表示情報210を一種のログ情報として補助記憶装置203に格納してもよい。 In this embodiment, the display information 210 is deleted after being stored in the main storage device 202 for a certain period, but the display information 210 may be stored in the auxiliary storage device 203 as a kind of log information.
 補助記憶装置203は、プログラム及び各種情報を格納する。補助記憶装置203は、例えば、HDDが考えられる。本実施形態では、補助記憶装置203に、業務用DB130、デバッグ情報140及びデータ遷移情報150が格納される。なお、各DBは、外部の記憶装置、例えば、ストレージシステムに格納されていてもよい。 The auxiliary storage device 203 stores programs and various types of information. For example, the auxiliary storage device 203 may be an HDD. In the present embodiment, the business DB 130, debug information 140, and data transition information 150 are stored in the auxiliary storage device 203. Each DB may be stored in an external storage device, for example, a storage system.
 プロセッサ201は、補助記憶装置203に格納されるプログラム及び情報を主記憶装置202に読み出し、主記憶装置202上のプログラム及び情報を用いて処理を実行する。 The processor 201 reads a program and information stored in the auxiliary storage device 203 to the main storage device 202, and executes processing using the program and information on the main storage device 202.
 I/Oインタフェース204は、外部の装置と接続するためのインタフェースであり、計算機100は、I/Oインタフェース204を介して、ディスプレイ160及び入出力装置170と接続される。 The I / O interface 204 is an interface for connecting to an external device, and the computer 100 is connected to the display 160 and the input / output device 170 via the I / O interface 204.
 本実施形態では、主記憶装置202上のプログラムとしてデバッガ120等の機能を実現しているが、本発明はこれに限定されない。デバッガ120の機能の全て又は一部を専用のハードウェアを用いて実現してもよい。 In this embodiment, functions such as the debugger 120 are realized as a program on the main storage device 202, but the present invention is not limited to this. All or part of the functions of the debugger 120 may be realized using dedicated hardware.
 次に、計算機100に格納される各種情報について説明する。 Next, various information stored in the computer 100 will be described.
 図3は、第1実施形態におけるデバッグ情報140の一例を示す説明図である。 FIG. 3 is an explanatory diagram showing an example of the debug information 140 in the first embodiment.
 図3に示すように、デバッグ情報140は、ソースコード情報300、命令情報310及びデータ値情報320を格納する。 As shown in FIG. 3, the debug information 140 stores source code information 300, instruction information 310, and data value information 320.
 ソースコード情報300は、アプリケーションプログラム110を実現するためのソースコードを格納する。命令情報310は、ソースコードを構成する命令文の情報を格納する。データ値情報320は、入力データ及び出力データの情報を格納する。以下、ソースコード情報300、命令情報310及びデータ値情報320のそれぞれについて説明する。 The source code information 300 stores source code for realizing the application program 110. The instruction information 310 stores information on an imperative sentence constituting the source code. The data value information 320 stores information on input data and output data. Hereinafter, each of the source code information 300, the instruction information 310, and the data value information 320 will be described.
 図4は、第1実施形態におけるソースコード情報300の一例を示す説明図である。 FIG. 4 is an explanatory diagram showing an example of the source code information 300 in the first embodiment.
 ソースコード情報300は、行番号401及び命令文402を含む。行番号401は、ソースコードにおける命令文の位置を表す行番号を格納する。命令文402は、ソースコードを構成する命令文の内容を格納する。 The source code information 300 includes a line number 401 and a command statement 402. The line number 401 stores a line number indicating the position of the command statement in the source code. The command statement 402 stores the content of the command statement constituting the source code.
 なお、図4に示すソースコード情報300は一例であって、他のカラム情報が格納されていてもよい。 Note that the source code information 300 shown in FIG. 4 is an example, and other column information may be stored.
 図5は、第1実施形態における命令情報310の一例を示す説明図である。 FIG. 5 is an explanatory diagram showing an example of the instruction information 310 in the first embodiment.
 命令情報310は、行番号501、命令語502及び入出力データ503を含む。 The instruction information 310 includes a line number 501, an instruction word 502, and input / output data 503.
 行番号501は、行番号401と同一のものである。命令語502は、命令文に含まれる命令を格納する。ここで、命令とは、所定の処理を定義する文字列である。 The line number 501 is the same as the line number 401. The instruction word 502 stores an instruction included in the instruction sentence. Here, an instruction is a character string that defines a predetermined process.
 入出力データ503は、命令文の実行時に入力されるデータ値及びその命令文の実行結果として出力されるデータ値の情報を格納する。入出力データ503には、データの種別を識別するための識別子と、データを識別するためのデータ番号とが一つの組として格納される。 The input / output data 503 stores information on the data value input when executing the command statement and the data value output as the execution result of the command statement. In the input / output data 503, an identifier for identifying the type of data and a data number for identifying the data are stored as one set.
 本実施形態では、データの種別を識別するための識別子として「I」又は「O」が格納される。「I」は入力データであることを示し、「O」は出力データであることを示す。例えば、図5に示す例では、行番号501が「536」のレコードでは、データ番号237の入力データが入力され、データ番号223の出力データが出力されることを示す。 In this embodiment, “I” or “O” is stored as an identifier for identifying the type of data. “I” indicates input data, and “O” indicates output data. For example, in the example illustrated in FIG. 5, in the record having the row number 501 of “536”, the input data with the data number 237 is input and the output data with the data number 223 is output.
 図6は、第1実施形態におけるデータ値情報320の一例を示す説明図である。 FIG. 6 is an explanatory diagram showing an example of the data value information 320 in the first embodiment.
 データ値情報320は、行番号601、レベル番号602、データ名603及びカウント604を含む。 The data value information 320 includes a line number 601, a level number 602, a data name 603, and a count 604.
 行番号601は、行番号401と同一のものである。レベル番号602は、データの階層構造を定義する識別番号を格納する。なお、値が小さいものほど上位の階層となる。 The line number 601 is the same as the line number 401. The level number 602 stores an identification number that defines the hierarchical structure of data. The smaller the value, the higher the hierarchy.
 データ名603は、命令文において定義されたデータ値の名称を格納する。カウント604は、データ名603に対応するデータ値の桁数又は文字数を格納する。例えば「9(5)」は、5桁の数字であることを示す。 Data name 603 stores the name of the data value defined in the command statement. The count 604 stores the number of digits or the number of characters of the data value corresponding to the data name 603. For example, “9 (5)” indicates a 5-digit number.
 なお、図3~図6を用いて説明したデバッグ情報140は、一例であって、コンピュータ言語によって異なる形式及び異なる内容の情報が格納されもよい。 Note that the debug information 140 described with reference to FIGS. 3 to 6 is an example, and information of different formats and different contents may be stored depending on the computer language.
 図7は、第1実施形態におけるデータ遷移情報150の一例を示す説明図である。 FIG. 7 is an explanatory diagram showing an example of the data transition information 150 in the first embodiment.
 データ遷移情報150は、複数のログ情報701から構成される。ログ情報701は、行番号、命令文、データ番号、データの種別及びデータ値等を含む。 The data transition information 150 is composed of a plurality of log information 701. The log information 701 includes a line number, a command statement, a data number, a data type, a data value, and the like.
 図8は、第1実施形態における表示情報210の一例を示す説明図である。 FIG. 8 is an explanatory diagram showing an example of the display information 210 in the first embodiment.
 表示情報210は、複数のレコードから構成され、各レコードは、種別801、行番号802、命令語/データ名803、データ値804、位置805及び関連情報位置806を含む。 The display information 210 includes a plurality of records, and each record includes a type 801, a line number 802, a command word / data name 803, a data value 804, a position 805, and a related information position 806.
 種別801は、命令文の種別を示す識別情報を格納する。具体的には、命令であることを示す「C」又はデータであることを示す「D」のいずれかが格納される。 The type 801 stores identification information indicating the type of the command statement. Specifically, either “C” indicating an instruction or “D” indicating data is stored.
 行番号802は、行番号401と同一のものである。命令語/データ名803は、命令を定義する命令語又はデータを定義するデータの名称を格納する。具体的には、種別801が「C」の場合、命令語が格納され、種別801が「D」の場合、データ名が格納される。 Line number 802 is the same as line number 401. The instruction word / data name 803 stores an instruction word that defines an instruction or a name of data that defines data. Specifically, when the type 801 is “C”, the instruction word is stored, and when the type 801 is “D”, the data name is stored.
 データ値804は、データ名に対応するデータ値を格納する。なお、種別801が「C」である場合、データ値804には情報が格納されない。 Data value 804 stores a data value corresponding to the data name. When the type 801 is “C”, no information is stored in the data value 804.
 位置805は、レコードに対応する命令又はデータの表示位置を格納する。関連情報位置806は、レコードに対応する命令又はデータと関連のある命令又はデータの表示位置を格納する。 Position 805 stores the display position of the command or data corresponding to the record. The related information position 806 stores the display position of the instruction or data related to the instruction or data corresponding to the record.
 なお、表示情報210は、アプリケーションプログラム110の実行順にレコードが格納される。 In the display information 210, records are stored in the order of execution of the application program 110.
 以上が、計算機100が格納する情報の説明である。次に、アプリケーションプログラム110の実行時の表示画面について説明する。 The above is the description of the information stored in the computer 100. Next, a display screen when the application program 110 is executed will be described.
 図9及び図10は、第1実施形態におけるアプリケーションプログラム110の実行時に表示される画面の一例を示す説明図である。 9 and 10 are explanatory diagrams illustrating examples of screens displayed when the application program 110 according to the first embodiment is executed.
 図9が、アプリケーションプログラム110の実行時の表示画面を示す。図10が、アプリケーションプログラム110の実行後の表示画面を示す。なお、アプリケーションプログラム110の実行は、デバッガ120の処理とは独立した処理である。 FIG. 9 shows a display screen when the application program 110 is executed. FIG. 10 shows a display screen after the application program 110 is executed. Note that the execution of the application program 110 is a process independent of the process of the debugger 120.
 表示画面900は、入力領域901、入力領域902及び計算ボタン903を含む。 The display screen 900 includes an input area 901, an input area 902, and a calculation button 903.
 入力領域901は、商品番号を入力する領域である。入力領域902は、商品の数量を入力する領域である。計算ボタン903は、アプリケーションプログラム110の実行を指示する操作ボタンである。 The input area 901 is an area for inputting a product number. The input area 902 is an area for inputting the quantity of products. The calculation button 903 is an operation button that instructs execution of the application program 110.
 保守担当者等が、計算ボタン903を操作すると、入力領域901及び入力領域902に入力された値に基づいてアプリケーションプログラム110が実行され、図10に示すような結果が表示される。 When a maintenance person or the like operates the calculation button 903, the application program 110 is executed based on the values input in the input area 901 and the input area 902, and a result as shown in FIG. 10 is displayed.
 図9に示す例では、入力領域901には「A020」が、入力領域902には「20」が入力された様を示している。 In the example shown in FIG. 9, “A020” is input to the input area 901 and “20” is input to the input area 902.
 図10に示す表示画面900には、新たに、出力領域1001、出力領域1002、出力領域1003、キャンセルボタン1004及び登録ボタン1005が含まれる。 The display screen 900 shown in FIG. 10 newly includes an output area 1001, an output area 1002, an output area 1003, a cancel button 1004, and a registration button 1005.
 出力領域1001は、入力領域901に入力された商品番号に対応する商品の名称を出力する領域である。出力領域1002は、入力領域901に入力された商品番号に対応する商品の単価を出力する領域である。出力領域1003は、入力領域901に入力された商品番号に対応する商品の売上高を出力する領域である。 The output area 1001 is an area for outputting a product name corresponding to the product number input in the input area 901. The output area 1002 is an area for outputting the unit price of the product corresponding to the product number input in the input area 901. The output area 1003 is an area for outputting the sales amount of the product corresponding to the product number input in the input area 901.
 キャンセルボタン1004は、アプリケーションプログラム110の実行結果を登録しない場合に操作するボタンである。登録ボタン1005は、アプリケーションプログラム110の実行結果を登録する場合に操作するボタンである。 Cancel button 1004 is a button operated when the execution result of application program 110 is not registered. A registration button 1005 is a button operated when registering an execution result of the application program 110.
 保守担当者等が登録ボタン1005を操作することによって、バグが生じたデータとして、図10に示すアプリケーションプログラム110の実行結果が補助記憶装置203に格納される。 When the maintenance staff operates the registration button 1005, the execution result of the application program 110 shown in FIG.
 図10に示す例では、売上げが「0」であるためバグが発生したと判定される。このとき、入力領域901及び入力領域902は、バグが生じた入力データであることを示すように強調表示される。 In the example shown in FIG. 10, since the sales is “0”, it is determined that a bug has occurred. At this time, the input area 901 and the input area 902 are highlighted so as to indicate that the input data has a bug.
 以上が、アプリケーションプログラム110の実行時の表示画面の説明である。以下では、デバッガ120の処理について説明する。 The above is the description of the display screen when the application program 110 is executed. Hereinafter, processing of the debugger 120 will be described.
 図11は、第1実施形態におけるデバッガ制御部121によって実行される処理を説明するフローチャートである。 FIG. 11 is a flowchart for explaining processing executed by the debugger control unit 121 in the first embodiment.
 デバッガ制御部121は、処理の開始を受付け(ステップS1101)、処理を開始する。このとき、保守担当者等によって不具合が生じたデータ値と、開始ポイント又は再開ポイントとが入力される。 The debugger control unit 121 accepts the start of the process (step S1101) and starts the process. At this time, a data value in which a malfunction has occurred and a start point or a restart point are input by a maintenance person or the like.
 ここで、開始ポイントは処理の開始位置となる実行系の命令文の位置を示し、再開ポイントは処理の再開位置となる実行系の命令文の位置を示す。 Here, the start point indicates the position of the execution system statement that becomes the start position of the processing, and the restart point indicates the position of the execution system statement that becomes the restart position of the process.
 このとき、デバッガ制御部121は、補助記憶装置203からデバッグ情報140を読み出し、主記憶装置202に格納する。 At this time, the debugger control unit 121 reads the debug information 140 from the auxiliary storage device 203 and stores it in the main storage device 202.
 図12は、第1実施形態における主記憶装置202に読み出されたデバッグ情報140を示す説明図である。 FIG. 12 is an explanatory diagram showing the debug information 140 read to the main storage device 202 in the first embodiment.
 図12に示すように、ソースコード情報1200、命令情報1210及びデータ値情報1220が主記憶装置202の異なる記憶領域に格納される。図12では、行番号等の関連性が理解できるように表示しているが、実際には、ソースコード情報300、命令情報310及びデータ値情報320と同一形式の情報が格納される。 As shown in FIG. 12, source code information 1200, instruction information 1210, and data value information 1220 are stored in different storage areas of the main storage device 202. In FIG. 12, the relevance such as the line number is displayed so that the relevance can be understood.
 なお、データ値情報1220には、最初に入力されたデータが格納され、その後、アプリケーションプログラム110の実行とともに、新たなデータ値が格納される。 The data value information 1220 stores the first input data, and then stores a new data value as the application program 110 is executed.
 次いで、デバッガ制御部121は、対象となる実行系の命令文が終了ポイントであるか否かを判定する(ステップS1103)。具体的には、ソースコード情報1200を参照して、実行されていない実行系の命令文があるか否かが判定される。 Next, the debugger control unit 121 determines whether or not the target execution statement is an end point (step S1103). Specifically, it is determined by referring to the source code information 1200 whether or not there is an execution command statement that has not been executed.
 対象となる実行系の命令文が終了ポイントであると判定された場合、デバッガ制御部121は、処理を終了する。 When it is determined that the target execution system statement is the end point, the debugger control unit 121 ends the process.
 対象となる実行系の命令文が終了ポイントでないと判定された場合、デバッガ制御部121は、その対象となる実行系の命令文を実行する(ステップS1104)。このとき、入力データ又は出力データが存在する場合には、入力データ又は出力データのデータ値がデータ値情報1220の対応するレコードに格納される。 When it is determined that the target execution system command statement is not the end point, the debugger control unit 121 executes the target execution system command statement (step S1104). At this time, if input data or output data exists, the data value of the input data or output data is stored in the corresponding record of the data value information 1220.
 デバッガ制御部121は、実行系の命令文に含まれる命令に対する入力データ又は出力データの少なくともいずれか一方が存在するか否かを判定する(ステップS1105)。 The debugger control unit 121 determines whether or not there is at least one of input data and output data for an instruction included in the execution system command statement (step S1105).
 具体的には、デバッガ制御部121は、ソースコード情報1200及び命令情報1210を参照し、実行系の命令文に含まれる命令に入力される入力データ又はその命令から出力される出力データの少なくともいずれか一方が存在するか否かを判定する。例えば、図5に示す例では、命令情報1210において、行番号が「537」である命令文の入出力データ503には、入力データ及び出力データが存在することが分かる。 Specifically, the debugger control unit 121 refers to the source code information 1200 and the instruction information 1210, and at least one of input data input to an instruction included in an execution command statement or output data output from the instruction. It is determined whether or not one of them exists. For example, in the example shown in FIG. 5, it can be seen that input data and output data exist in the input / output data 503 of the command statement whose line number is “537” in the command information 1210.
 実行系の命令文に含まれる命令に対する入力データ及び出力データのいずれもが存在しないと判定された場合、デバッガ制御部121は、次の実行系の命令文を読み出し、実行ポイントを設定し(ステップS1109)、ステップS1103に戻り、同様の処理を実行する。 If it is determined that neither the input data nor the output data for the instruction included in the execution-type command statement exists, the debugger control unit 121 reads the next execution-type command statement and sets the execution point (step S1109), the process returns to step S1103, and the same processing is executed.
 実行系の命令文に含まれる命令に対する入力データ又は出力データの少なくともいずれか一方が存在すると判定された場合、デバッガ制御部121は、データ遷移情報150の生成指示をデータ遷移情報生成部122に出力する(ステップS1106)。 If it is determined that there is at least one of input data and output data for an instruction included in the execution system statement, the debugger control unit 121 outputs a generation instruction for the data transition information 150 to the data transition information generation unit 122. (Step S1106).
 データ遷移情報生成部122は、指示を受け付けると処理を開始する。データ遷移情報生成部122は、データ遷移情報150の生成処理が終了するとその旨をデバッガ制御部121に通知する。なお、データ遷移情報生成部122が実行する処理の詳細については、図14を用いて後述する。 The data transition information generation unit 122 starts processing upon receiving an instruction. When the generation process of the data transition information 150 ends, the data transition information generation unit 122 notifies the debugger control unit 121 to that effect. Details of the processing executed by the data transition information generation unit 122 will be described later with reference to FIG.
 デバッガ制御部121は、データ遷移情報150が生成された旨の通知を受け取ると、表示情報210の生成指示を表示情報生成部123に出力する(ステップS1107)。 When receiving the notification that the data transition information 150 has been generated, the debugger control unit 121 outputs a generation instruction for the display information 210 to the display information generation unit 123 (step S1107).
 表示情報生成部123は、指示を受け付けると処理を開始する。なお、表示情報生成部123が実行する処理の詳細については、図15A及び図15Bを用いて後述する。 The display information generation unit 123 starts processing upon receiving an instruction. Details of the processing executed by the display information generation unit 123 will be described later with reference to FIGS. 15A and 15B.
 デバッガ制御部121は、表示情報生成部123に生成された表示情報に基づいてデータの遷移を示す画面の表示指示を出力し(ステップS1108)、ステップS1109に進む。 The debugger control unit 121 outputs a screen display instruction indicating data transition based on the display information generated in the display information generation unit 123 (step S1108), and the process proceeds to step S1109.
 なお、デバッガ制御部121は、表示情報210の生成指示と、画面の表示指示とを同時に出力してもよい。 Note that the debugger control unit 121 may simultaneously output a display information 210 generation instruction and a screen display instruction.
 図13は、第1実施形態におけるデバッガ120の実行時にディスプレイ160に表示される画面の一例を示す説明図である。 FIG. 13 is an explanatory diagram illustrating an example of a screen displayed on the display 160 when the debugger 120 is executed in the first embodiment.
 図13では、デバッガ制御部121が処理を実行しているときに表示される画面を表す。 FIG. 13 shows a screen displayed when the debugger control unit 121 is executing processing.
 デバッガ表示画面1300は、デバッガ120の処理内容及び処理結果を表示する。デバッガ表示画面1300は、ソース表示領域1310を含む。ソース表示領域1310は、デバッガ120によって処理されているソースコードを表示する。 The debugger display screen 1300 displays the processing contents and processing results of the debugger 120. The debugger display screen 1300 includes a source display area 1310. The source display area 1310 displays the source code being processed by the debugger 120.
 ソース表示領域1310には、所定数分の命令文が表示される。また、ソース表示領域1310には、現在処理されている実行系の命令文を示すポインタ1311が表示される。 In the source display area 1310, a predetermined number of commands are displayed. In the source display area 1310, a pointer 1311 indicating the currently executed command statement is displayed.
 図14は、第1実施形態におけるデータ遷移情報生成部122が実行する処理を説明するフローチャートである。 FIG. 14 is a flowchart for explaining processing executed by the data transition information generation unit 122 in the first embodiment.
 データ遷移情報生成部122は、デバッガ制御部121から処理の開始指示を受け付けると処理を開始する。 The data transition information generation unit 122 starts processing upon receiving a processing start instruction from the debugger control unit 121.
 まず、データ遷移情報生成部122は、デバッガ制御部121から現在実行している実行系の命令文に対応する行番号を取得する(ステップS1401)。例えば、データ遷移情報生成部122がデバッガ制御部121に問い合わせる方法、デバッガ制御部121から受信した開始指示から取得する方法などが考えられる。 First, the data transition information generation unit 122 acquires a line number corresponding to the currently executed command statement from the debugger control unit 121 (step S1401). For example, a method in which the data transition information generation unit 122 makes an inquiry to the debugger control unit 121, a method in which the data transition information generation unit 122 acquires from a start instruction received from the debugger control unit 121, and the like can be considered.
 データ遷移情報生成部122は、取得された行番号に対応する実行系の命令文を取得する(ステップS1402)。具体的には、データ遷移情報生成部122は、取得された行番号に基づいてソースコード情報1200を参照し、取得された行番号と一致する実行系の命令文を取得する。 The data transition information generation unit 122 acquires an execution command statement corresponding to the acquired line number (step S1402). Specifically, the data transition information generation unit 122 refers to the source code information 1200 based on the acquired line number, and acquires an execution command statement that matches the acquired line number.
 データ遷移情報生成部122は、取得された実行系の命令文に関連する全ての入力データ及び出力データを取得したか否かを判定する(ステップS1403)。具体的には、データ遷移情報生成部122は、取得された行番号に基づいて命令情報1210を参照し、対応するレコードから全ての入力データ及び出力データが取得されたか否かを判定する。 The data transition information generation unit 122 determines whether or not all input data and output data related to the acquired execution command statement have been acquired (step S1403). Specifically, the data transition information generation unit 122 refers to the command information 1210 based on the acquired line number, and determines whether all input data and output data have been acquired from the corresponding record.
 実行系の命令文に関連する全ての入力データ及び出力データが取得されたと判定された場合、データ遷移情報生成部122は、取得された情報をデータ遷移情報150に格納し(ステップ1408)、処理を終了する。具体的には、データ遷移情報生成部122は、取得された情報からログ情報701を生成し、生成されたログ情報701をデータ遷移情報150に格納する。 When it is determined that all the input data and output data related to the command statement of the execution system have been acquired, the data transition information generation unit 122 stores the acquired information in the data transition information 150 (step 1408) and processing Exit. Specifically, the data transition information generation unit 122 generates log information 701 from the acquired information, and stores the generated log information 701 in the data transition information 150.
 実行系の命令文に関連する全ての入力データ及び出力データが取得されていないと判定された場合、データ遷移情報生成部122は、命令情報1210から入出力データ503を取得する(ステップS1404)。具体的には、データ遷移情報生成部122は、命令情報1210の行番号501に対応するレコードの入出力データ503からデータを一つ取得する。 If it is determined that all input data and output data related to the execution system command statement have not been acquired, the data transition information generation unit 122 acquires the input / output data 503 from the command information 1210 (step S1404). Specifically, the data transition information generation unit 122 acquires one piece of data from the input / output data 503 of the record corresponding to the line number 501 of the instruction information 1210.
 データ遷移情報生成部122は、取得されたデータが定義された命令文の行番号を取得する(ステップS1405)。 The data transition information generation unit 122 acquires the line number of the command statement in which the acquired data is defined (step S1405).
 さらに、データ遷移情報生成部122は、取得された行番号に基づいて対応するデータ値を取得する(ステップS1406)。具体的には、データ遷移情報生成部122は、取得された行番号に基づいてデータ値情報1220を参照し、取得された行番号に対応するレコードを取得する。 Furthermore, the data transition information generation unit 122 acquires a corresponding data value based on the acquired row number (step S1406). Specifically, the data transition information generation unit 122 refers to the data value information 1220 based on the acquired line number, and acquires a record corresponding to the acquired line number.
 データ値情報320は、取得されたレコードからデータ名及びデータ値を取得し(ステップS1407)、ステップS1403に戻る。以下同様の処理が実行される。 The data value information 320 acquires the data name and data value from the acquired record (step S1407), and returns to step S1403. Thereafter, the same processing is executed.
 図15A及び図15Bは、第1実施形態における表示情報生成部123が実行する処理を説明するフローチャートである。 15A and 15B are flowcharts for explaining processing executed by the display information generation unit 123 in the first embodiment.
 表示情報生成部123は、未処理のログ情報701があるか否かを判定する(ステップS1501)。例えば、データ遷移情報150から全てのログ情報701が読み出されたか否かが判定される。 The display information generation unit 123 determines whether there is unprocessed log information 701 (step S1501). For example, it is determined whether all log information 701 has been read from the data transition information 150.
 未処理のログ情報701がないと判定された場合、表示情報生成部123は、処理を終了する。 When it is determined that there is no unprocessed log information 701, the display information generation unit 123 ends the process.
 未処理のログ情報701があると判定された場合、表示情報生成部123は、データ遷移情報150からログ情報701を一つ読み出し、読み出されたログ情報701に含まれる命令を表示するための表示ポインタを生成する(ステップS1502)。 When it is determined that there is unprocessed log information 701, the display information generation unit 123 reads one piece of log information 701 from the data transition information 150, and displays a command included in the read log information 701. A display pointer is generated (step S1502).
 具体的には、表示情報生成部123は、読み出されたログ情報701から命令に対応する情報を抽出し、その命令に対応するアイコンを表示するための表示ポイント(位置情報)を生成する。 Specifically, the display information generation unit 123 extracts information corresponding to a command from the read log information 701, and generates a display point (position information) for displaying an icon corresponding to the command.
 さらに、表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803及び位置805に情報を格納する。 Further, the display information generation unit 123 generates a new record in the display information 210, and stores the information in the type 801, the line number 802, the command word / data name 803, and the position 805 of the generated record.
 種別801には「C」が格納され、行番号802及び命令語/データ名803にはログ情報701の情報が格納される。例えば、表示情報生成部123は、図7で示すログ情報701から、行番号が「537」である命令から命令語「COMPUTE」を抽出し、行番号802及び命令語/データ名803のそれぞれに格納する。また、位置805には、生成された表示ポイントが格納される。なお、表示ポイントの生成方法は、周知の技術であるため説明を省略する。 “C” is stored in the type 801, and information of the log information 701 is stored in the line number 802 and the instruction word / data name 803. For example, the display information generation unit 123 extracts the command word “COMPUTE” from the command having the line number “537” from the log information 701 illustrated in FIG. 7, and stores the command word “COMPUTE” in each of the line number 802 and the command word / data name 803. Store. Further, the generated display point is stored at the position 805. Since the display point generation method is a well-known technique, the description thereof is omitted.
 表示情報生成部123は、読み出されたログ情報701に含まれる入力データ及び出力データについての処理が全て終了したか否かを判定する(ステップS1503)。 The display information generation unit 123 determines whether or not the processing for all the input data and output data included in the read log information 701 has been completed (step S1503).
 読み出されたログ情報701に含まれる入力データ及び出力データについての処理が全て終了したと判定された場合、表示情報生成部123は、ステップS1501に戻り同様の処理を実行する。 When it is determined that the processing for the input data and the output data included in the read log information 701 has been completed, the display information generation unit 123 returns to step S1501 and executes the same processing.
 読み出されたログ情報71に含まれる入力データ及び出力データについての処理が全て終了していないと判定された場合、表示情報生成部123は、ログ情報701からデータに関する情報を抽出し、抽出された情報が入力データに関するものであるか否かを判定する(ステップS1504)。ここでは、種別、行番号、データ名及びデータ値が抽出される。 When it is determined that the processing for all the input data and output data included in the read log information 71 has not been completed, the display information generation unit 123 extracts and extracts information related to the data from the log information 701. It is determined whether the received information relates to input data (step S1504). Here, the type, line number, data name, and data value are extracted.
 具体的には、表示情報生成部123は、ログ情報701を参照し、抽出された情報の種別が「I」であるか否かが判定される。種別が「I」である場合、抽出された情報が入力データに関するものであると判定される。 Specifically, the display information generation unit 123 refers to the log information 701 and determines whether or not the type of the extracted information is “I”. When the type is “I”, it is determined that the extracted information is related to the input data.
 抽出された情報が入力データに関するものであると判定された場合、表示情報生成部123は、表示情報210から同一のデータを検索し(ステップS1505)、同一のデータが見つかったか否かを判定する(ステップS1506)。 When it is determined that the extracted information is related to the input data, the display information generation unit 123 searches the display information 210 for the same data (step S1505) and determines whether the same data is found. (Step S1506).
 具体的には、表示情報生成部123は、入力データの行番号と一致するレコードを表示情報210から検索する。なお、検索方法としては、ステップS1502において生成されたレコードより上位のレコードを検索する。 Specifically, the display information generation unit 123 searches the display information 210 for a record that matches the line number of the input data. As a search method, a record higher than the record generated in step S1502 is searched.
 これは、入力データは、抽出されたログ情報701に含まれる命令の実行前に出力されたデータであることが想定されるためである。 This is because it is assumed that the input data is data output before the execution of the instruction included in the extracted log information 701.
 図8に示す例では、取得されたログ情報701に含まれる命令の行番号が「537」である場合、入力データの行番号「223」及びデータ名「TANKA」と一致するレコードが存在することが分かる。 In the example illustrated in FIG. 8, when the line number of the instruction included in the acquired log information 701 is “537”, there is a record that matches the line number “223” of the input data and the data name “TANKA”. I understand.
 表示情報210から同一のデータが見つかった場合、表示情報生成部123は、ステップS1508に進む。 If the same data is found from the display information 210, the display information generation unit 123 proceeds to step S1508.
 表示情報210から同一のデータが見つからなかった場合、表示情報生成部123は、入力データを表示するための表示ポイントを生成する(ステップS1507)。これは、初めて入力される入力データであるためである。 If the same data is not found from the display information 210, the display information generation unit 123 generates a display point for displaying the input data (step S1507). This is because the input data is input for the first time.
 具体的には、表示情報生成部123は、デバッガ表示画面1300に入力データを示すアイコンを表示するための表示ポイントを生成する。 Specifically, the display information generation unit 123 generates a display point for displaying an icon indicating input data on the debugger display screen 1300.
 さらに、表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803、データ値804及び位置805に情報を格納する。 Furthermore, the display information generation unit 123 generates a new record in the display information 210 and stores information in the generated record type 801, line number 802, instruction word / data name 803, data value 804, and position 805. .
 種別801には「D」が格納され、行番号802、命令語/データ名803及びデータ値804にはログ情報701の情報が格納される。位置805には、生成された表示ポイントが格納される。 “D” is stored in the type 801, and information of the log information 701 is stored in the line number 802, the command / data name 803 and the data value 804. In the position 805, the generated display point is stored.
 表示情報生成部123は、命令と入力データとを関連づけて(ステップS1508)、ステップS1503に戻り、同様の処理を実行する。 The display information generation unit 123 associates the command with the input data (step S1508), returns to step S1503, and executes the same processing.
 具体的には、表示情報生成部123は、表示情報210の入力データに対応するレコードの関連情報位置806に、命令に対応するレコードの位置805と同一の表示ポイントを格納する。 Specifically, the display information generating unit 123 stores the same display point as the record position 805 corresponding to the command in the related information position 806 of the record corresponding to the input data of the display information 210.
 前述した処理によって、命令と入力データとの間の遷移関係を表示することが可能となる。 The process described above makes it possible to display the transition relationship between commands and input data.
 ステップS1504において、抽出されたデータが入力データでない、すなわち、出力データであると判定された場合、表示情報生成部123は、出力データを表示するための表示ポイントを生成する(ステップS1509)。 When it is determined in step S1504 that the extracted data is not input data, that is, output data, the display information generation unit 123 generates a display point for displaying the output data (step S1509).
 具体的には、表示情報生成部123は、デバッガ表示画面1300に出力データを示すアイコンを表示するための表示ポイントを生成する。 Specifically, the display information generation unit 123 generates a display point for displaying an icon indicating output data on the debugger display screen 1300.
 さらに、表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803、データ値804及び位置805に情報を格納する。 Furthermore, the display information generation unit 123 generates a new record in the display information 210 and stores information in the generated record type 801, line number 802, instruction word / data name 803, data value 804, and position 805. .
 種別801には「D」が格納され、行番号802、命令語/データ名803及びデータ値804にはログ情報701の情報が格納される。位置805には、生成された表示ポイントが格納される。 “D” is stored in the type 801, and information of the log information 701 is stored in the line number 802, the command / data name 803 and the data value 804. In the position 805, the generated display point is stored.
 表示情報生成部123は、命令と出力データとを関連づけて(ステップS1510)、ステップS1503に戻り、同様の処理を実行する。 The display information generation unit 123 associates the command with the output data (step S1510), returns to step S1503, and executes the same processing.
 具体的には、表示情報生成部123は、表示情報210の命令に対応するレコードの関連情報位置806に、出力データに対応するレコードの位置805と同一の表示ポイントを格納する。 Specifically, the display information generation unit 123 stores the same display point as the record position 805 corresponding to the output data in the related information position 806 of the record corresponding to the instruction of the display information 210.
 前述した処理によって、命令と出力データとの間の遷移関係を表示することが可能となる。 The process described above makes it possible to display the transition relationship between the command and the output data.
 図16A及び図16Bは、第1実施形態における表示情報生成部123が実行する処理を説明するフローチャートである。 FIG. 16A and FIG. 16B are flowcharts for explaining processing executed by the display information generation unit 123 in the first embodiment.
 表示情報生成部123は、表示情報210に未処理のレコードがあるか否かを判定する(ステップS1601)。具体的には、表示情報210の全てのレコードについて処理が終了したか否かを判定する。 The display information generation unit 123 determines whether there is an unprocessed record in the display information 210 (step S1601). Specifically, it is determined whether or not processing has been completed for all records of the display information 210.
 未処理のレコードがないと判定された場合、表示情報生成部123は、処理を終了する。 When it is determined that there is no unprocessed record, the display information generation unit 123 ends the process.
 未処理のレコードがあると判定された場合、表示情報生成部123は、表示情報210からレコードを一つ読み出す(ステップS1602)。 When it is determined that there is an unprocessed record, the display information generation unit 123 reads one record from the display information 210 (step S1602).
 表示情報生成部123は、読み出されたレコードの種別801を参照して、命令のレコードであるか否かを判定する(ステップS1603)。具体的には、表示情報生成部123は、取得されたレコードの種別801が「C」であるか否かを判定する。 The display information generation unit 123 refers to the read record type 801 to determine whether the record is a command record (step S1603). Specifically, the display information generation unit 123 determines whether or not the type 801 of the acquired record is “C”.
 命令のレコードであると判定された場合、表示情報生成部123は、読み出されたレコードの位置805に基づいて、その命令に対応するアイコンを所定の位置に表示する(ステップS1604)。 When it is determined that the record is an instruction record, the display information generation unit 123 displays an icon corresponding to the instruction at a predetermined position based on the position 805 of the read record (step S1604).
 表示情報生成部123は、その命令から出力される出力データが存在するか否かを判定する(ステップS1605)。具体的には、読み出されたレコードの関連情報位置806が空欄であるか否かが判定される。読み出されたレコードの関連情報位置806が空欄である場合、命令から出力される出力データが存在しないと判定される。 The display information generation unit 123 determines whether there is output data output from the command (step S1605). Specifically, it is determined whether or not the related information position 806 of the read record is blank. If the related information position 806 of the read record is blank, it is determined that there is no output data output from the instruction.
 命令から出力される出力データが存在しないと判定された場合、表示情報生成部123は、ステップS1601に戻り同様の処理を実行する。 If it is determined that there is no output data output from the instruction, the display information generation unit 123 returns to step S1601 and executes the same processing.
 命令から出力される出力データが存在すると判定された場合、表示情報生成部123は、命令から出力される出力データを検索する(ステップS1606)。具体的には、表示情報生成部123は、関連情報位置806が取得されたレコードの位置805と同一のレコードを検索する。 When it is determined that there is output data output from the command, the display information generation unit 123 searches for output data output from the command (step S1606). Specifically, the display information generation unit 123 searches for the same record as the position 805 of the record from which the related information position 806 is acquired.
 表示情報生成部123は、検索の結果に基づいて、出力データに対応するアイコンと、命令に対応するアイコンとを接続して表示し(ステップS1607)、ステップS1601に戻る。例えば、表示情報生成部123は、命令に対応するアイコンから、出力データに対応するアイコンへ矢印を表示する。 The display information generation unit 123 connects and displays the icon corresponding to the output data and the icon corresponding to the command based on the search result (step S1607), and returns to step S1601. For example, the display information generation unit 123 displays an arrow from an icon corresponding to the command to an icon corresponding to the output data.
 ステップS1603において、命令に関するレコードでない、すなわち、データに関するレコードであると判定された場合、表示情報生成部123は、読み出されたレコードの命令語/データ名803、データ値804及び位置805に基づいて、データに対応するアイコンを所定の位置に表示する(ステップS1608)。 If it is determined in step S1603 that the record is not a command-related record, that is, a record related to data, the display information generation unit 123 is based on the command word / data name 803, the data value 804, and the position 805 of the read record. The icon corresponding to the data is displayed at a predetermined position (step S1608).
 表示情報生成部123は、データが入力される命令が存在するか否かを判定する(ステップS1609)。具体的には、読み出されたレコードの関連情報位置806が空欄であるか否かが判定される。データが入力される命令が存在する場合には、そのデータは、入力データに関するレコードであることを示す。 The display information generation unit 123 determines whether there is an instruction for inputting data (step S1609). Specifically, it is determined whether or not the related information position 806 of the read record is blank. If there is an instruction to which data is input, this indicates that the data is a record relating to input data.
 データが入力される命令が存在しないと判定された場合、表示情報生成部123は、ステップS1601に戻り同様の処理を実行する。 When it is determined that there is no command for inputting data, the display information generation unit 123 returns to step S1601 and executes the same processing.
 データが入力される命令が存在すると判定された場合、表示情報生成部123は、データの入力先となる命令を検索する(ステップS1610)。具体的には、表示情報生成部123は、関連情報位置806が取得されたレコードの位置805と同一のレコードを検索する。 When it is determined that there is an instruction to which data is input, the display information generation unit 123 searches for an instruction that is a data input destination (step S1610). Specifically, the display information generation unit 123 searches for the same record as the position 805 of the record from which the related information position 806 is acquired.
 表示情報生成部123は、検索の結果に基づいて、命令に対応するアイコンと、入力データに対応するアイコンとを接続して表示し(ステップS1611)、ステップS1601に戻る。例えば、表示情報生成部123は、入力データに対応するアイコンから、命令に対応するアイコンへ矢印を表示する。 The display information generation unit 123 connects and displays the icon corresponding to the command and the icon corresponding to the input data based on the search result (step S1611), and returns to step S1601. For example, the display information generation unit 123 displays an arrow from the icon corresponding to the input data to the icon corresponding to the command.
 なお、表示情報生成部123が表示処理を実行する必要は無く、デバッガ制御部121など他の構成が同様の処理を実行してもよい。 Note that the display information generation unit 123 does not have to execute display processing, and other components such as the debugger control unit 121 may execute similar processing.
 なお、表示情報210の生成と同時に表示処理が実行される場合は以下のように処理が実行される。 If the display process is executed simultaneously with the generation of the display information 210, the process is executed as follows.
 ステップS1502において、表示情報生成部123は、生成された表示ポインタに基づいて、命令に対応するアイコンを表示する。 In step S1502, the display information generation unit 123 displays an icon corresponding to the command based on the generated display pointer.
 ステップS1508において、表示情報生成部123は、命令に対応するアイコンとデータに対応するアイコンとを接続して表示する。 In step S1508, the display information generation unit 123 connects and displays an icon corresponding to the command and an icon corresponding to the data.
 ステップS1510において、表示情報生成部123は、データに対応するアイコンと命令に対応するアイコンとを接続して表示する。 In step S1510, the display information generation unit 123 connects and displays an icon corresponding to the data and an icon corresponding to the command.
 図17は、第1実施形態におけるディスプレイ160に表示される画面の一例を示す説明図である。 FIG. 17 is an explanatory diagram showing an example of a screen displayed on the display 160 in the first embodiment.
 デバッガ表示画面1300は、新たに、データ遷移表示領域1701を含む。データ遷移表示領域1701は、命令とデータとの遷移関係を表す図が表示される。 The debugger display screen 1300 newly includes a data transition display area 1701. The data transition display area 1701 displays a diagram representing the transition relationship between instructions and data.
 図17に示す例では、命令は丸いアイコンを用いて表示され、データは四角アイコンを用いて表示される。なお、データを表すアイコンにはデータ名及びデータ値が表示される。また、命令と関係のある入力データ及び出力データとの間が矢印で接続される。さらに、現在処理している命令を表すアイコンは色付けされ、強調表示される。 In the example shown in FIG. 17, the command is displayed using a round icon, and the data is displayed using a square icon. A data name and a data value are displayed on the icon representing data. Also, the input data and output data related to the command are connected by arrows. In addition, the icon representing the instruction currently being processed is colored and highlighted.
 デバッガ120は、表示情報210に基づいて、図17に示すようなデバッガ表示画面1300を表示する。なお、デバッガ120は、デバッガ制御部121が全ての処理を終了した後にデータ遷移表示領域1601を表示してもよいし、表示情報生成部123が表示ポイントを生成する度に、データ遷移表示領域1601を更新して表示してもよい。また、所定の間隔毎にデータ遷移表示領域1701を更新してもよい。 The debugger 120 displays a debugger display screen 1300 as shown in FIG. 17 based on the display information 210. Note that the debugger 120 may display the data transition display area 1601 after the debugger control unit 121 completes all the processes, or the data transition display area 1601 every time the display information generation unit 123 generates a display point. May be updated and displayed. Further, the data transition display area 1701 may be updated at predetermined intervals.
 第1実施形態によれば、保守担当者がデバッグにおいてデータの遷移をアプリケーションプログラム110の実行順に確認することができるため、異常が発生したデータ及びそのデータを出力する命令を容易に特定することができる。したがって、効率的なデバッグが可能となる。 According to the first embodiment, since the maintenance staff can check the data transition in the order of execution of the application program 110 in debugging, it is possible to easily identify the data in which an abnormality has occurred and the instruction to output the data. it can. Therefore, efficient debugging is possible.
 [第2実施形態] [Second Embodiment]
 第1実施形態では、デバッガ制御部121は、表示情報210が生成される度に画面を表示していた。しかし、アプリケーションプログラム110の動作テストでは複数のテストケースを実行し、結果を後で確認することが多い。そこで、第2実施形態では、テストケース毎の表示情報210を生成し、保守管理者の要求に応じて表示する点が異なる。 In the first embodiment, the debugger control unit 121 displays a screen every time the display information 210 is generated. However, in many cases, the operation test of the application program 110 executes a plurality of test cases and confirms the results later. Therefore, the second embodiment is different in that display information 210 for each test case is generated and displayed according to a request from the maintenance manager.
 これによって、アプリケーションプログラム110の動作テストにおいて、異常なデータが発生した場合でも、テスト後にデバッガ表示画面1300を参照して確認することができることため、アプリケーションプログラム110の動作テスト及びデバッグの効率が向上する。 As a result, even if abnormal data is generated in the operation test of the application program 110, it can be confirmed with reference to the debugger display screen 1300 after the test, thereby improving the efficiency of the operation test and debugging of the application program 110. .
 以下、第1実施形態との差異点を中心に説明する。 Hereinafter, the description will focus on differences from the first embodiment.
 第2実施形態の計算機システムは、第1実施形態の計算機システムと同一であるため説明を省略する。また、計算機100のハードウェア構成も同一であるため説明を省略する。デバッグ情報140及び表示情報210も同一であるため説明を省略する。 Since the computer system of the second embodiment is the same as the computer system of the first embodiment, description thereof is omitted. Further, since the hardware configuration of the computer 100 is the same, the description thereof is omitted. Since the debug information 140 and the display information 210 are the same, description thereof is omitted.
 図18は、第2実施形態におけるデバッガ制御部121によって実行される処理を説明するフローチャートである。 FIG. 18 is a flowchart for explaining processing executed by the debugger control unit 121 in the second embodiment.
 第2実施形態では、一つのテストケース毎にデータ遷移情報150が生成されるため、デバッガ制御部121は、まず始めに、データ遷移情報150の出力先を決定する(ステップS1801)。例えば、保守担当者から出力先のファイル名を受け付ける方法が考えられる。ここでは、ファイル名がテストケースの識別子に対応する。 In the second embodiment, since the data transition information 150 is generated for each test case, the debugger control unit 121 first determines the output destination of the data transition information 150 (step S1801). For example, a method of accepting an output destination file name from a maintenance person can be considered. Here, the file name corresponds to the identifier of the test case.
 ステップS1101~ステップS1106及びステップS1109は、同一の処理であるため説明を省略する。 Since step S1101 to step S1106 and step S1109 are the same processing, description thereof is omitted.
 第2実施形態では、表示情報生成部123の処理が独立して実行されるため、ステップS1108が省略されている点が異なる。すなわち、第2実施形態では、デバッガ120は、保守担当者からの実行指示を受けてからステップS1108に相当する処理を実行する。 The second embodiment is different in that step S1108 is omitted because the processing of the display information generation unit 123 is performed independently. That is, in the second embodiment, the debugger 120 executes a process corresponding to step S1108 after receiving an execution instruction from the maintenance staff.
 図19は、第2実施形態におけるディスプレイ160に表示される画面の一例を示す説明図である。 FIG. 19 is an explanatory diagram showing an example of a screen displayed on the display 160 in the second embodiment.
 デバッガ表示画面1300は、新たに、テストケース選択領域1910を含む。テストケース選択領域1810は、テストケースを選択するための情報を表示する。具体的には、テストケースの識別子が表示される。なお、テストケースの識別子は、ステップS1701において決定された出力先の名称である。 The debugger display screen 1300 newly includes a test case selection area 1910. The test case selection area 1810 displays information for selecting a test case. Specifically, the identifier of the test case is displayed. The test case identifier is the name of the output destination determined in step S1701.
 保守管理者がテストケース選択領域1910に表示された識別子を選択すると、表示処理の開始指示がデバッガ120に通知される。なお、通知には選択されたテストケースの識別子が含まれる。 When the maintenance manager selects an identifier displayed in the test case selection area 1910, a display processing start instruction is notified to the debugger 120. The notification includes the identifier of the selected test case.
 デバッガ120は、開始指示を受け付けると、表示情報生成部123を起動させる。表示情報生成部123は、図16A及び図16Bと同様の処理を実行する。ただし、ステップS1601の前に、開始指示に含まれる識別情報に基づいて、読み出すデータ遷移情報150を決定するステップが追加される。 When the debugger 120 receives the start instruction, the debugger 120 starts the display information generation unit 123. The display information generation unit 123 executes the same processing as in FIGS. 16A and 16B. However, a step of determining the data transition information 150 to be read based on the identification information included in the start instruction is added before step S1601.
 第2実施形態によれば、テストケースにおいて発見されたバグに対して、再度デバッガ120を実行することなく、データの遷移を参照することができる。したがって、値の異常なデータと、そのデータ発生の原因となるロジックとを発見できるため、デバッグを効率的に行うことができる。 According to the second embodiment, it is possible to refer to the data transition without executing the debugger 120 again for the bug found in the test case. Therefore, data having an abnormal value and logic that causes the generation of the data can be found, so that debugging can be performed efficiently.
 [第3実施形態] [Third embodiment]
 第1実施形態では、アプリケーションプログラム110に対するデバッグの結果が全て表示されるが、第3実施形態では、所定範囲の実行結果を参照できる点が異なる。 In the first embodiment, all the debug results for the application program 110 are displayed, but the third embodiment is different in that a predetermined range of execution results can be referred to.
 一般的に、大きなプログラムを対象としたデバッグでは、デバッグの結果を全て表示すると原因を特定するために時間が掛かる。 Generally, when debugging a large program, it takes time to identify the cause when all the debug results are displayed.
 そこで、第3実施形態では、任意の時点又は任意のデータを起点に、関連性のある情報のみを表示することによって、保守管理者のデバッグ作業を向上させることができる。さらに、データ遷移の方向として、データが生成される方向、又は、データの成り立ちをたどる方向を指定することによって、より効率的なデバッグを実現することができる。 Therefore, in the third embodiment, the debugging work of the maintenance manager can be improved by displaying only relevant information starting from an arbitrary time point or arbitrary data. Furthermore, by specifying the direction in which data is generated or the direction in which the data is traced as the direction of data transition, more efficient debugging can be realized.
 また、第3実施形態では、ループ処理が実行される度にレコードが生成されること抑制している点も第1実施形態と異なる。 Also, the third embodiment is different from the first embodiment in that the generation of a record each time a loop process is executed is suppressed.
 以下、第1実施形態との差異点を中心に説明する。 Hereinafter, the description will focus on differences from the first embodiment.
 第3実施形態の計算機システムは、第1実施形態の計算機システムと同一であるため説明を省略する。また、計算機100のハードウェア構成も同一であるため説明を省略する。 Since the computer system of the third embodiment is the same as the computer system of the first embodiment, the description thereof is omitted. Further, since the hardware configuration of the computer 100 is the same, the description thereof is omitted.
 図20は、第3実施形態におけるデータ値情報1220を示す説明図である。ソースコード情報1200及び命令情報1210は、第1実施形態と同一であるため説明を省略する。 FIG. 20 is an explanatory diagram showing data value information 1220 in the third embodiment. Since the source code information 1200 and the instruction information 1210 are the same as those in the first embodiment, description thereof is omitted.
 第3実施形態では、データ値情報の構成が異なる。すなわち、最初のループ処理に関する情報は、行番号2001、データ名2002、データ値2003及びポインタ2004を含む。 In the third embodiment, the configuration of the data value information is different. That is, the information regarding the first loop process includes a line number 2001, a data name 2002, a data value 2003, and a pointer 2004.
 ここでアドレス値2004は、他のループ処理におけるデータ値が格納された主記憶装置202上のアドレスを表す。 Here, the address value 2004 represents an address on the main storage device 202 where the data value in another loop process is stored.
 図21は、第3実施形態における表示情報210の一例を示す説明図である。 FIG. 21 is an explanatory diagram showing an example of the display information 210 in the third embodiment.
 表示情報210は、新たにポインタ2101を含む。ポインタ2101は、ループ処理におけるデータ値が格納された主記憶装置202上のアドレスを格納する。これによって、ループ処理によるレコードの増大を抑制することができる。なお、ポインタ2101は、ポインタ2004と同一のものである。 The display information 210 newly includes a pointer 2101. The pointer 2101 stores an address on the main storage device 202 where the data value in the loop processing is stored. As a result, an increase in records due to loop processing can be suppressed. The pointer 2101 is the same as the pointer 2004.
 図22A、図22B及び図22Cは、第3実施形態における表示情報生成部123が実行する処理を説明するフローチャートである。 22A, 22B, and 22C are flowcharts for explaining processing executed by the display information generation unit 123 in the third embodiment.
 表示情報生成部123は、表示情報210を生成する起点及び表示方向を受け付けると処理を開始する(ステップS2201)。 The display information generation unit 123 starts processing upon receiving a starting point and a display direction for generating the display information 210 (step S2201).
 起点は、表示情報210の起点を示し、データ値又はログ情報701が指定される。また、表示方向は、データ遷移の方向を示し、データが生成される方向(フォア方向)、又は、データの成り立ちをたどる方向(バック方向)のいずれかが指定される。 The starting point indicates the starting point of the display information 210, and a data value or log information 701 is designated. The display direction indicates the direction of data transition, and either a direction in which data is generated (fore direction) or a direction in which data is traced (back direction) is designated.
 なお、起点としてデータが指定された場合、表示情報生成部123は、指定されたデータに基づいてデータ遷移情報150を参照することによって、処理すべきログ情報701を特定することができる。 When data is designated as the starting point, the display information generation unit 123 can identify the log information 701 to be processed by referring to the data transition information 150 based on the designated data.
 表示情報生成部123は、処理対象のログ情報701に関連するログ情報701を検索する(ステップS2202)。ここで、指定された表示方向によって検索方法が異なる。以下処理対象のログ情報701に関連するログ情報701を関連ログ情報701とも記載する。 The display information generation unit 123 searches for log information 701 related to the log information 701 to be processed (step S2202). Here, the search method differs depending on the designated display direction. Hereinafter, log information 701 related to the log information 701 to be processed is also referred to as related log information 701.
 表示方向がフォア方向の場合、表示情報生成部123は、起点となるログ情報701から下位のログ情報701を検索する。具体的には、起点となるログ情報701に含まれる出力データの行番号と、下位のログ情報701に含まれる入力データの行番号とが一致するログ情報701が検索される。 When the display direction is the fore direction, the display information generation unit 123 searches the lower log information 701 from the log information 701 as a starting point. Specifically, the log information 701 in which the line number of the output data included in the log information 701 as the starting point matches the line number of the input data included in the lower-level log information 701 is searched.
 表示報告がバック方向の場合、表示情報生成部123は、起点となるログ情報701から上位のログ情報701を検索する。具体的には、起点となるログ情報1301に含まれる入力データの行番号と、上位のログ情報701に含まれる出力データの行番号とが一致するログ情報701が検索される。 When the display report is in the backward direction, the display information generation unit 123 searches the upper log information 701 from the log information 701 as a starting point. Specifically, the log information 701 in which the line number of the input data included in the starting log information 1301 matches the line number of the output data included in the higher-level log information 701 is searched.
 表示情報生成部123は、前述の検索の結果、未処理のログ情報701があるか否かを判定する(ステップS2203)。 The display information generation unit 123 determines whether or not there is unprocessed log information 701 as a result of the above search (step S2203).
 具体的には、ステップS2002の検索の結果、関連ログ情報701がない場合、又は、関連ログ情報701はあるが全て処理済みである場合には、未処理のログ情報701がないと判定される。 Specifically, if there is no related log information 701 as a result of the search in step S2002, or if there is related log information 701 but all of it has been processed, it is determined that there is no unprocessed log information 701. .
 未処理のログ情報701がないと判定された場合、表示情報生成部123は、処理を終了する。 When it is determined that there is no unprocessed log information 701, the display information generation unit 123 ends the process.
 未処理のログ情報701があると判定された場合、表示情報生成部123は、データ遷移情報150から関連ログ情報701を一つ読み出し、関連ログ情報701に含まれる命令に対応するレコードが生成済みであるか否かを判定する(ステップS2204)。 When it is determined that there is unprocessed log information 701, the display information generation unit 123 reads one piece of related log information 701 from the data transition information 150, and a record corresponding to the command included in the related log information 701 has been generated. It is determined whether or not (step S2204).
 具体的には、表示情報生成部123は、関連ログ情報701に含まれる命令の行番号に基づいて表示情報210を参照し、同一の行番号802であるレコードが存在するか否かを判定する。 Specifically, the display information generation unit 123 refers to the display information 210 based on the line number of the command included in the related log information 701 and determines whether or not a record having the same line number 802 exists. .
 これは、繰り返し実行されるループ処理についてレコードが生成されると、表示情報210が大きくなり、また、画面に表示される情報が膨大になることを回避するためである。 This is to prevent the display information 210 from becoming large when the record is generated for the loop processing that is repeatedly executed, and the information displayed on the screen from becoming enormous.
 関連ログ情報701に含まれる命令に対応するレコードが生成済みであると判定された場合、表示情報生成部123は、ステップS2206に進む。 If it is determined that the record corresponding to the command included in the related log information 701 has been generated, the display information generation unit 123 proceeds to step S2206.
 関連ログ情報701に含まれる命令に対応するレコードが生成済みでないと判定された場合、表示情報生成部123は、ログ情報701に含まれる命令を表示するための表示ポインタを生成する(ステップS2205)。 When it is determined that the record corresponding to the command included in the related log information 701 has not been generated, the display information generation unit 123 generates a display pointer for displaying the command included in the log information 701 (step S2205). .
 具体的には、表示情報生成部123は、デバッガ表示画面1300に命令を示すアイコンを表示するための表示ポイントを生成する。 Specifically, the display information generation unit 123 generates a display point for displaying an icon indicating an instruction on the debugger display screen 1300.
 さらに、表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803及び位置805に情報を格納する。 Further, the display information generation unit 123 generates a new record in the display information 210, and stores the information in the type 801, the line number 802, the command word / data name 803, and the position 805 of the generated record.
 種別801には「C」が格納され、行番号802及び命令語/データ名803にはログ情報701の情報が格納される。例えば、表示情報生成部123は、図7で示すログ情報701から、行番号が「537」である命令から命令語「COMPUTE」を抽出し、行番号802及び命令語/データ名803のそれぞれに格納する。また、位置805には、生成された表示ポイントが格納される。 “C” is stored in the type 801, and information of the log information 701 is stored in the line number 802 and the instruction word / data name 803. For example, the display information generation unit 123 extracts the command word “COMPUTE” from the command having the line number “537” from the log information 701 shown in FIG. Store. Further, the generated display point is stored at the position 805.
 表示情報生成部123は、関連ログ情報701に含まれる入力データ及び出力データについての処理が全て終了したか否かを判定する(ステップS2206)。 The display information generation unit 123 determines whether or not the processing for all the input data and output data included in the related log information 701 has been completed (step S2206).
 関連ログ情報701に含まれる入力データ及び出力データについての処理が全て終了したと判定された場合、表示情報生成部123は、ステップS2202に戻り同様の処理を実行する。 When it is determined that the processing for the input data and output data included in the related log information 701 has been completed, the display information generation unit 123 returns to step S2202 and executes the same processing.
 関連ログ情報701に含まれる入力データ及び出力データについての処理が全て終了していないと判定された場合、表示情報生成部123は、関連ログ情報701からデータを抽出し、抽出されたデータが入力データであるかを判定する(ステップS2207)。ステップS2207の処理はステップS1504と同一の処理である。 When it is determined that the processing on the input data and output data included in the related log information 701 is not complete, the display information generation unit 123 extracts data from the related log information 701, and the extracted data is input. It is determined whether it is data (step S2207). The process of step S2207 is the same process as step S1504.
 抽出されたデータが入力データであると判定された場合、表示情報生成部123は、表示方向がフォア方向か否かを判定する(ステップS2208)。 When it is determined that the extracted data is input data, the display information generation unit 123 determines whether the display direction is the fore direction (step S2208).
 表示方向がフォア方向でない場合(バック方向)、表示情報生成部123は、ステップS2211の処理に進み、表示方向がフォア方向である場合、ステップS2209の処理に進む。 When the display direction is not the fore direction (back direction), the display information generation unit 123 proceeds to the process of step S2211, and when the display direction is the fore direction, the process proceeds to step S2209.
 表示情報生成部123は、表示情報210から同一のデータを検索し(ステップS2209)、同一のデータが見つかったか否かを判定する(ステップS2210)。 The display information generation unit 123 searches the display information 210 for the same data (step S2209), and determines whether the same data is found (step S2210).
 具体的には、表示情報生成部123は。抽出された入力データに対応する行番号と一致するレコードを表示情報210から検索する。なお、検索方法としては、ステップS2205において生成されたレコードより上位のレコード、すなわち、バック方向にレコードを検索する。 Specifically, the display information generation unit 123. A record matching the line number corresponding to the extracted input data is searched from the display information 210. As a search method, a record higher than the record generated in step S2205, that is, a record is searched in the back direction.
 同一のデータが見つかった場合、表示情報生成部123は、ステップS2212に進む。 If the same data is found, the display information generating unit 123 proceeds to step S2212.
 同一のデータが見つからなかった場合、表示情報生成部123は、入力データを表示するための表示ポイントを生成する(ステップS2211)。 If the same data is not found, the display information generating unit 123 generates a display point for displaying the input data (step S2211).
 具体的には、表示情報生成部123は、デバッガ表示画面1300に入力データを示すアイコンを表示するための表示ポイントを生成する。さらに、表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803、データ値804及び位置805に情報を格納する。 Specifically, the display information generation unit 123 generates a display point for displaying an icon indicating input data on the debugger display screen 1300. Further, the display information generation unit 123 generates a new record in the display information 210 and stores information in the generated record type 801, line number 802, command / data name 803, data value 804, and position 805. .
 種別801には「D」が格納され、行番号802、命令語/データ名803、データ値804にはログ情報701の情報が格納される。位置805には、生成された表示ポイントが格納される。 “D” is stored in the type 801, and the log information 701 is stored in the line number 802, the instruction word / data name 803, and the data value 804. In the position 805, the generated display point is stored.
 なお、ループ処理の場合処理が異なる。データ値804にデータ値が格納されている場合、表示情報生成部123は、ポインタ2004にアドレスが格納されているか否かを判定する。 In the case of loop processing, processing is different. When a data value is stored in the data value 804, the display information generation unit 123 determines whether an address is stored in the pointer 2004.
 ポインタ2004にアドレスが格納されている場合、表示情報生成部123は、データ値804及びポインタ2004を更新することなく次に処理に進む。一方、ポインタ2004にアドレスが格納されていない場合、表示情報生成部123は、ポインタ2004に入力データが格納されるアドレスを格納する。 When the address is stored in the pointer 2004, the display information generation unit 123 proceeds to the next process without updating the data value 804 and the pointer 2004. On the other hand, when the address is not stored in the pointer 2004, the display information generation unit 123 stores the address where the input data is stored in the pointer 2004.
 表示情報生成部123は、命令と入力データとを関連づけて(ステップS2212)、ステップS2206に戻り、同様の処理を実行する。 The display information generation unit 123 associates the command with the input data (step S2212), returns to step S2206, and executes the same processing.
 具体的には、表示情報生成部123は、表示情報210の入力データに対応するレコードの関連情報位置806に、命令に対応するレコードの位置805と同一の表示ポイントを格納する。 Specifically, the display information generating unit 123 stores the same display point as the record position 805 corresponding to the command in the related information position 806 of the record corresponding to the input data of the display information 210.
 ステップS2207において、抽出されたデータが入力データでない、すなわち、出力データであると判定された場合、表示情報生成部123は、まず表示方向がフォア方向であるか否かを判定する(ステップS2213)。表示方向がフォア方向である場合、ステップS2216の処理に進み、表示方向がフォア方向でない場合(バック方向)、ステップS2214の処理に進む。 When it is determined in step S2207 that the extracted data is not input data, that is, output data, the display information generation unit 123 first determines whether or not the display direction is the fore direction (step S2213). . If the display direction is the fore direction, the process proceeds to step S2216. If the display direction is not the fore direction (back direction), the process proceeds to step S2214.
 表示情報生成部123は、表示情報210から同一のデータを検索し(ステップS2214)、同一のデータが見つかったか否かを判定する(ステップS2215)。 The display information generation unit 123 searches for the same data from the display information 210 (step S2214), and determines whether the same data is found (step S2215).
 具体的には、表示情報生成部123は。抽出された出力データに対応する行番号と一致するレコードを表示情報210から検索する。なお、検索方法としては、ステップS2205において生成されたレコードより上位のレコード、すなわち、バック方向にレコードを検索する。 Specifically, the display information generation unit 123. The display information 210 is searched for a record that matches the line number corresponding to the extracted output data. As a search method, a record higher than the record generated in step S2205, that is, a record is searched in the back direction.
 表示情報210から同一のデータが見つかった場合、表示情報生成部123は、ステップS2217に進む。 If the same data is found from the display information 210, the display information generation unit 123 proceeds to step S2217.
 表示情報210から同一のデータが見つからなかった場合、表示情報生成部123は、出力データを表示するための表示ポイントを生成する(ステップS2216)。 If the same data is not found from the display information 210, the display information generation unit 123 generates a display point for displaying the output data (step S2216).
 具体的には、表示情報生成部123は、表示ポイントを生成する。さらに、表示情報生成部123は、表示情報210に新たなレコードを生成し、生成されたレコードの種別801、行番号802、命令語/データ名803、データ値804及び位置805に情報を格納する。 Specifically, the display information generation unit 123 generates display points. Further, the display information generation unit 123 generates a new record in the display information 210 and stores information in the generated record type 801, line number 802, command / data name 803, data value 804, and position 805. .
 種別801には「D」が格納され、行番号802、命令語/データ名803及びデータ値804にはログ情報701の情報が格納される。位置805には、生成された表示ポイントが格納される。 “D” is stored in the type 801, and information of the log information 701 is stored in the line number 802, the command / data name 803 and the data value 804. In the position 805, the generated display point is stored.
 なお、ループ処理の場合処理が異なる。データ値804にすでにデータ値が格納されている場合、表示情報生成部123は、ポインタ2004にアドレスが格納されているか否かを判定する。 In the case of loop processing, processing is different. When the data value is already stored in the data value 804, the display information generation unit 123 determines whether an address is stored in the pointer 2004.
 ポインタ2004にアドレスが格納されている場合、表示情報生成部123は、データ値804及びポインタ2004を更新することなく次に処理に進む。一方、ポインタ2004にアドレスが格納されていない場合、表示情報生成部123は、ポインタ2004に出力データが格納されるアドレスを格納する。 When the address is stored in the pointer 2004, the display information generation unit 123 proceeds to the next process without updating the data value 804 and the pointer 2004. On the other hand, when no address is stored in the pointer 2004, the display information generation unit 123 stores an address in which output data is stored in the pointer 2004.
 表示情報生成部123は、命令と出力データとを関連づけて(ステップS2217)、ステップS2206に戻り、同様の処理を実行する。 The display information generation unit 123 associates the command with the output data (step S2217), returns to step S2206, and executes the same processing.
 具体的には、表示情報生成部123は、表示情報210の出力データに対応するレコードの関連情報位置806に、命令に対応するレコードの位置805と同一の表示ポイントを格納する。 Specifically, the display information generation unit 123 stores the same display point as the record position 805 corresponding to the command in the related information position 806 of the record corresponding to the output data of the display information 210.
 表示処理は、第1実施形態と以下の点が異なる。 The display process differs from the first embodiment in the following points.
 ステップS1601~ステップS1606の処理は第1実施形態と同一である。 The processing from step S1601 to step S1606 is the same as that in the first embodiment.
 ステップ1607において、表示情報生成部123は、検索された出力データに対応するレコードに基づいて、命令情報1210及びデータ値情報1220を参照する。さらに、表示情報生成部123は、対応するデータ値のポインタ2004にアドレスが格納されているか否かを判定する。 In step 1607, the display information generation unit 123 refers to the command information 1210 and the data value information 1220 based on the record corresponding to the retrieved output data. Further, the display information generation unit 123 determines whether an address is stored in the pointer 2004 of the corresponding data value.
 対応するデータ値のポインタ2004にアドレスが格納されている場合、表示情報生成部123は、データ値情報1220から関連する出力データを全て取得する。 When the address is stored in the pointer 2004 of the corresponding data value, the display information generation unit 123 acquires all related output data from the data value information 1220.
 表示情報生成部123は、命令に対応するアイコンと、出力データに対応するアイコンとを接続して表示する。さらに、表示情報生成部123は、出力データに対応するアイコンを強調表示する。なお、出力データに対応するアイコンにループ毎の出力データのデータ値を全て表示するようにしてもよい。 The display information generation unit 123 connects and displays an icon corresponding to the command and an icon corresponding to the output data. Further, the display information generation unit 123 highlights an icon corresponding to the output data. Note that all data values of output data for each loop may be displayed on an icon corresponding to the output data.
 ステップ1608において、表示情報生成部123は、データに対応するレコードに基づいて、命令情報1210及びデータ値情報1220を参照する。さらに、表示情報生成部123は、対応するデータ値のポインタ2004にアドレスが格納されているか否かを判定する。 In step 1608, the display information generation unit 123 refers to the command information 1210 and the data value information 1220 based on the record corresponding to the data. Further, the display information generation unit 123 determines whether an address is stored in the pointer 2004 of the corresponding data value.
 対応するデータ値のポインタ2004にアドレスが格納されている場合、表示情報生成部123は、データ値情報1220から関連するデータを全て取得する。 When the address is stored in the pointer 2004 of the corresponding data value, the display information generation unit 123 acquires all related data from the data value information 1220.
 表示情報生成部123は、命令に対応するアイコンと、入力データに対応するアイコンとを接続して表示する。さらに、表示情報生成部123は、入力データに対応するアイコンを強調表示する。なお、入力データに対応するアイコンにループ毎の入力データのデータ値を全て表示するようにしてもよい。 The display information generating unit 123 connects and displays an icon corresponding to the command and an icon corresponding to the input data. Further, the display information generation unit 123 highlights an icon corresponding to the input data. Note that all data values of input data for each loop may be displayed on an icon corresponding to the input data.
 ステップ1609~ステップ1611は第1実施形態と同一である。 Steps 1609 to 1611 are the same as those in the first embodiment.
 図23は、第3実施形態におけるディスプレイ160に表示される画面の一例を示す説明図である。 FIG. 23 is an explanatory diagram showing an example of a screen displayed on the display 160 in the third embodiment.
 デバッガ表示画面1300は、新たに、表示方向選択領域2310、データ値選択領域2320、データ遷移情報表示領域2330を含む。 The debugger display screen 1300 newly includes a display direction selection area 2310, a data value selection area 2320, and a data transition information display area 2330.
 表示方向選択領域2310は、表示方向を選択するための情報を表示する、図23に示す例では、フォア方向又はバック方向のいずれかが選択できる。 The display direction selection area 2310 displays information for selecting the display direction. In the example shown in FIG. 23, either the fore direction or the back direction can be selected.
 データ値選択領域2320は、起点となるデータを選択するための情報を表示する。データ遷移情報表示領域2330は、データ遷移情報150を表示する。 The data value selection area 2320 displays information for selecting the starting data. Data transition information display area 2330 displays data transition information 150.
 保守担当者等は、表示方向選択領域2310と、データ値選択領域2320又はデータ遷移情報表示領域2330とを操作すると、図22A~図22Cに示すような処理が実行される。 When the maintenance person or the like operates the display direction selection area 2310 and the data value selection area 2320 or the data transition information display area 2330, the processes shown in FIGS. 22A to 22C are executed.
 なお、データ遷移表示領域1710は、データを表すアイコンのうちループ処理に該当するアイコンが強調表示される。保守担当者等がそのアイコンを操作すると、ループ処理情報200からループ処理に関連するデータ値が表示されるように制御される。 In the data transition display area 1710, icons corresponding to loop processing are highlighted among icons representing data. When a person in charge of maintenance or the like operates the icon, control is performed so that data values related to loop processing are displayed from the loop processing information 200.
 また、データ遷移情報表示領域2330のログ情報701を選択すると、ソース表示領域1310において、ソースコードの対応する行を示すポイントが表示される。 When the log information 701 in the data transition information display area 2330 is selected, a point indicating the corresponding line of the source code is displayed in the source display area 1310.
 第3実施形態によれば、大規模なプログラムに対するデバッグを行う場合であっても、大量のデータ遷移の表示を回避し、参照したいデータ又は命令を起点としたデータ遷移図を表示することができる。 According to the third embodiment, even when debugging a large-scale program, it is possible to avoid displaying a large amount of data transition and display a data transition diagram starting from data or an instruction to be referred to. .
 したがって、参照しなくてもよいデータを表示する必要がないためデバッグの効率が向上できる。また、表示方向を指定できることによって、起点からデータの利用(フォア)、データの生成経路(バック)を参照できる。したがって、保守担当者等のデバッグ意図に則したデータ遷移を表示でき、効率的なデバッグが可能となる。 Therefore, debugging efficiency can be improved because there is no need to display data that need not be referenced. Further, by specifying the display direction, it is possible to refer to the use of data (fore) and the data generation path (back) from the starting point. Therefore, it is possible to display data transitions according to the debugging intention of a maintenance person or the like, and efficient debugging is possible.
 以上、本発明の実施形態を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。 As mentioned above, although embodiment of this invention was described in detail with reference to attached drawing, this invention is not limited to such a concrete structure, Various change within the meaning of the attached claim And equivalent configurations.

Claims (20)

  1.  複数の命令文を含むソースコードをコンパイルすることによって生成されたプログラムにおける障害を特定し、前記プログラムを修正する計算機におけるデバッグ支援方法であって、
     前記計算機は、プロセッサと、前記プロセッサに接続される主記憶装置と、前記プロセッサに接続される副記憶装置とを備え、
     前記計算機は、前記ソースコードをコンパイルすることによって生成されたデバッグ情報を格納し、
     前記デバッグ情報は、少なくとも、前記ソースコードにおける前記命令文の位置を示す位置番号、前記命令文に含まれる関数の名称及び前記命令文に含まれるデータの名称を含み、
     前記方法は、
     前記計算機が、デバッグ処理の開始命令を受け付けると、前記デバッグ情報を参照して、前記関数を含む実行系の命令文を実行する第1のステップと、
     前記計算機が、前記実行系の命令文の実行結果に基づいて、前記関数、前記関数に入力される入力データ及び前記関数から出力される出力データから構成されるログ情報を含むデータ遷移情報を生成する第2のステップと、
     前記計算機が、前記データ遷移情報に基づいて、前記関数と前記入力データとの遷移状態及び前記関数と前記出力データとの遷移状態を表示するための表示情報を生成する第3のステップと、を含むことを特徴とするデバッグ支援方法。
    A debugging support method in a computer for identifying a failure in a program generated by compiling a source code including a plurality of statements and correcting the program,
    The computer includes a processor, a main storage device connected to the processor, and a secondary storage device connected to the processor,
    The computer stores debug information generated by compiling the source code,
    The debug information includes at least a position number indicating the position of the statement in the source code, a function name included in the statement, and a data name included in the statement.
    The method
    When the computer receives a debug process start instruction, the computer refers to the debug information and executes an execution system statement including the function;
    The computer generates data transition information including log information composed of the function, input data input to the function, and output data output from the function, based on an execution result of the execution statement. A second step of:
    A third step of generating display information for displaying a transition state between the function and the input data and a transition state between the function and the output data based on the data transition information; A debugging support method comprising:
  2.  請求項1に記載のデバッグ支援方法であって、
     前記第3のステップは、
     前記データ遷移情報から前記ログ情報を取得するステップと、
     前記取得されたログ情報に基づいて、前記関数、前記入力データ及び前記出力データに対応するアイコンの表示位置である位置情報を生成するステップと、
     前記ログ情報と前記生成された位置情報とに基づいて、前記表示情報を生成するステップと、を含むことを特徴とするデバッグ支援方法。
    The debugging support method according to claim 1,
    The third step includes
    Obtaining the log information from the data transition information;
    Generating position information which is a display position of an icon corresponding to the function, the input data and the output data based on the acquired log information;
    Generating the display information based on the log information and the generated position information. A debugging support method, comprising:
  3.  請求項1又は請求項2に記載のデバッグ支援方法であって、
     前記表示情報は複数のレコード情報を含み、
     前記レコード情報は、前記関数を含む前記命令文又は前記データを含む前記命令文の前記位置番号、前記関数又は前記データの前記位置情報と、前記関数、前記入力データ又は前記出力データと関連する他の前記関数、前記入力データ又は前記出力データに対応するアイコンの表示位置である関連位置情報とを含み、
     前記第3のステップは、
     前記データ遷移情報から第1のログ情報を取得するステップと、
     前記取得された第1のログ情報から前記関数に関する情報を抽出するステップと、
     前記関数に対応するアイコンの第1の位置情報を生成するステップと、
     前記抽出された関数に関する情報と、前記生成された第1の位置情報とに基づいて、第1のレコード情報を生成し、前記表示情報に格納するステップと、
     前記取得された第1のログ情報から前記入力データに関する情報を抽出するステップと、
     前記入力データに対応するアイコンの第2の位置情報を生成するステップと、
     前記抽出された入力データに関する情報と、前記生成された第2の位置情報とに基づいて、第2のレコード情報を生成し、前記表示情報を格納するステップと、
     前記生成された第2のレコード情報の前記関連位置情報に、前記第1の位置情報を格納するステップと、
     前記取得された第1のログ情報から前記出力データに関する情報を抽出するステップと、
     前記出力データに対応するアイコンの第3の位置情報を生成するステップと、
     前記抽出された出力データに関する情報と、前記生成された第3の位置情報とに基づいて、第3のレコード情報を生成し、前記表示情報を格納するステップと、
     前記第1のレコード情報の前記関連位置情報に、前記第3の位置情報を格納するステップと、を含むことを特徴とするデバッグ支援方法。
    The debugging support method according to claim 1 or 2,
    The display information includes a plurality of record information,
    The record information includes the position number of the command statement including the function or the command statement including the data, the position information of the function or the data, and other information related to the function, the input data, or the output data. And related position information which is a display position of an icon corresponding to the input data or the output data,
    The third step includes
    Obtaining first log information from the data transition information;
    Extracting information related to the function from the acquired first log information;
    Generating first position information of an icon corresponding to the function;
    Generating first record information based on the information on the extracted function and the generated first position information, and storing the first record information in the display information;
    Extracting information related to the input data from the acquired first log information;
    Generating second position information of an icon corresponding to the input data;
    Generating second record information based on the information about the extracted input data and the generated second position information, and storing the display information;
    Storing the first position information in the related position information of the generated second record information;
    Extracting information related to the output data from the acquired first log information;
    Generating third position information of an icon corresponding to the output data;
    Generating third record information based on the information on the extracted output data and the generated third position information, and storing the display information;
    Storing the third position information in the related position information of the first record information.
  4.  請求項1から3のいずれか一項に記載のデバッグ支援方法であって、
     前記第1のステップは、
     処理の起点となる前記関数又は前記データの名称の入力を受け付けるステップと、
     前記表示情報の生成方向の指定を受け付けるステップと、を含み、
     前記表示情報の生成方向は、前記起点から前記プログラムの実行順に前記レコード情報を生成する順方向、又は、前記起点から前記プログラムの実行順とは逆にさかのぼって前記レコード情報を生成する逆方向のいずれかを選択可能であることを特徴とするデバッグ支援方法。
    A debugging support method according to any one of claims 1 to 3,
    The first step includes
    Receiving an input of a name of the function or data serving as a starting point of processing;
    Receiving a designation of the generation direction of the display information,
    The generation direction of the display information is a forward direction in which the record information is generated in the execution order of the program from the starting point, or a reverse direction in which the record information is generated backward from the starting point in the execution order of the program. A debugging support method characterized in that either of them can be selected.
  5.  請求項4に記載のデバッグ支援方法であって、
     前記デバッグ情報は、前記プログラムの実行順に前記ログ情報が格納され、
     前記第3のステップでは、
     前記順方向の前記表示情報の生成指示を受け付けた場合に、起点となる前記関数又は前記データに対応する前記ログ情報から下位に格納された前記ログ情報を読み出すことによって、前記表示情報を生成することを特徴とするデバッグ支援方法。
    The debugging support method according to claim 4,
    The debug information stores the log information in the execution order of the program,
    In the third step,
    When receiving an instruction to generate the display information in the forward direction, the display information is generated by reading the log information stored in the lower order from the log information corresponding to the function or the data serving as a starting point. A debugging support method characterized by the above.
  6.  請求項4に記載のデバッグ支援方法であって、
     前記デバッグ情報は、前記プログラムの実行順に前記ログ情報が格納され、
     前記第3のステップでは、
     前記逆方向の表示情報の生成指示を受け付けた場合に、起点となる前記関数又は前記データに対応する前記ログ情報から上位に格納された前記ログ情報を読み出すことによって、前記表示情報を生成することを特徴とするデバッグ支援方法。
    The debugging support method according to claim 4,
    The debug information stores the log information in the execution order of the program,
    In the third step,
    When receiving an instruction to generate display information in the reverse direction, the display information is generated by reading the log information stored at a higher level from the log information corresponding to the function or the data serving as a starting point. A debugging support method characterized by the above.
  7.  請求項1から6のいずれか一項に記載のデバッグ支援方法であって、
     第3のステップは、
     前記第1のログ情報から抽出された前記関数が、ループ的に繰り返し実行される関数であるか否かを判定するステップと、
     前記第1のログ情報から抽出された関数が、ループ的に繰り返し実行される関数であると判定された場合には、その関数に関連する前記入力データのレコード情報又は前記出力データのレコード情報を一つ生成するステップと、
     前記生成された入力データのレコード情報又は前記生成された出力データのレコード情報に、ループ毎の前記入力データの値又は前記出力データの値を格納するステップと、を含むことを特徴とする記載のデバッグ支援方法。
    A debugging support method according to any one of claims 1 to 6,
    The third step is
    Determining whether the function extracted from the first log information is a function that is repeatedly executed in a loop;
    When it is determined that the function extracted from the first log information is a function that is repeatedly executed in a loop, the record information of the input data or the record information of the output data related to the function is obtained. One step to generate,
    Storing the value of the input data or the value of the output data for each loop in the record information of the generated input data or the record information of the generated output data. Debugging support method.
  8.  請求項3から7のいずれか一項に記載のデバッグ支援方法であって、
     前記方法は、
     前記表示情報に含まれる前記レコード情報を読み出すステップと、
     前記読み出されたレコード情報の前記位置情報に基づいて、そのレコード情報に対応するアイコンを表示するステップと、
     前記読み出されたレコード情報の前記関連位置情報を参照して、関連する前記レコード情報が存在するか否かを判定するステップと、
     関連する前記レコード情報が存在する場合には、前記読み出されたレコード情報に対応するアイコンと、前記関連するレコード情報に対応するアイコンとを接続して表示するステップと、を含むことを特徴とするデバッグ支援方法。
    A debugging support method according to any one of claims 3 to 7,
    The method
    Reading the record information included in the display information;
    Displaying an icon corresponding to the record information based on the position information of the read record information;
    Determining whether the related record information exists with reference to the related position information of the read record information;
    A step of connecting and displaying an icon corresponding to the read record information and an icon corresponding to the related record information when the related record information exists. Debugging support method to do.
  9.  複数の命令文を含むソースコードをコンパイルすることによって生成されたプログラムにおける障害を特定し、前記プログラムを修正するデバッガを備える計算機であって、
     前記計算機は、プロセッサと、前記プロセッサに接続される主記憶装置と、前記プロセッサに接続される副記憶装置とを備え、
     前記計算機は、前記ソースコードをコンパイルすることによって生成されたデバッグ情報を格納し、
     前記デバッグ情報は、少なくとも、前記ソースコードにおける前記命令文の位置を示す位置番号、前記命令文に含まれる関数の名称及び前記命令文に含まれるデータの名称を含み、
     前記デバッガは、
     デバッグ処理の開始命令を受け付けると、前記デバッグ情報を参照して、前記関数を含む実行系の命令文を実行し、前記実行系の命令文の実行結果に基づいて、前記関数、前記関数に入力される入力データ及び前記関数から出力される出力データから構成されるログ情報を含むデータ遷移情報を生成するデータ遷移情報生成部と、
     前記データ遷移情報に基づいて、前記関数と前記入力データとの遷移状態及び前記関数と前記出力データとの遷移状態を表示するための表示情報を生成する表示情報生成部と、を備えることを特徴とする計算機。
    A computer comprising a debugger for identifying a fault in a program generated by compiling source code including a plurality of statements and correcting the program,
    The computer includes a processor, a main storage device connected to the processor, and a secondary storage device connected to the processor,
    The computer stores debug information generated by compiling the source code,
    The debug information includes at least a position number indicating the position of the statement in the source code, a function name included in the statement, and a data name included in the statement.
    The debugger is
    When a debug process start instruction is received, the execution information including the function is executed with reference to the debug information, and input to the function and the function based on the execution result of the execution instruction A data transition information generating unit that generates data transition information including log information composed of input data to be output and output data output from the function;
    A display information generation unit configured to generate display information for displaying a transition state between the function and the input data and a transition state between the function and the output data based on the data transition information. Calculator.
  10.  請求項9に記載の計算機であって、
     前記表示情報生成部は、
     前記データ遷移情報から前記ログ情報を取得し、
     前記取得されたログ情報に基づいて、前記関数、前記入力データ及び前記出力データに対応するアイコンの表示位置である位置情報を生成し、
     前記ログ情報と前記生成された位置情報とに基づいて、前記表示情報を生成することを特徴とする計算機。
    The computer according to claim 9, wherein
    The display information generation unit
    Obtaining the log information from the data transition information;
    Based on the acquired log information, generate position information that is a display position of an icon corresponding to the function, the input data, and the output data,
    The display information is generated based on the log information and the generated position information.
  11.  請求項9又は請求項10に記載の計算機であって、
     前記表示情報は複数のレコード情報を含み、
     前記レコード情報は、前記関数を含む前記命令文又は前記データを含む前記命令文の前記位置番号、前記関数又は前記データの前記位置情報と、前記関数、前記入力データ又は前記出力データと関連する他の前記関数、前記入力データ又は前記出力データに対応するアイコンの表示位置である関連位置情報とを含み、
     前記表示情報生成部は、
     前記データ遷移情報から第1のログ情報を取得し、
     前記取得された第1のログ情報から前記関数に関する情報を抽出し、
     前記関数に対応するアイコンの第1の位置情報を生成し、
     前記抽出された関数に関する情報と、前記生成された第1の位置情報とに基づいて、第1のレコード情報を生成し、前記表示情報に格納し、
     前記取得された第1のログ情報から前記入力データに関する情報を抽出し、
     前記入力データに対応するアイコンの第2の位置情報を生成し、
     前記抽出された入力データに関する情報と、前記生成された第2の位置情報とに基づいて、第2のレコード情報を生成し、前記表示情報を格納し、
     前記生成された第2のレコード情報の前記関連位置情報に、前記第1の位置情報を格納し、
     前記取得された第1のログ情報から前記出力データに関する情報を抽出し、
     前記出力データに対応するアイコンの第3の位置情報を生成し、
     前記抽出された出力データに関する情報と、前記生成された第3の位置情報とに基づいて、第3のレコード情報を生成し、前記表示情報を格納し、
     前記第1のレコード情報の前記関連位置情報に、前記第3の位置情報を格納することを特徴とする計算機。
    A computer according to claim 9 or claim 10, wherein
    The display information includes a plurality of record information,
    The record information includes the position number of the command statement including the function or the command statement including the data, the position information of the function or the data, and other information related to the function, the input data, or the output data. And related position information which is a display position of an icon corresponding to the input data or the output data,
    The display information generation unit
    Obtaining first log information from the data transition information;
    Extracting information on the function from the acquired first log information;
    Generating first position information of an icon corresponding to the function;
    Based on the information on the extracted function and the generated first position information, first record information is generated and stored in the display information,
    Extracting information related to the input data from the acquired first log information;
    Generating second position information of an icon corresponding to the input data;
    Based on the information on the extracted input data and the generated second position information, generate second record information, store the display information,
    Storing the first position information in the related position information of the generated second record information;
    Extracting information on the output data from the acquired first log information;
    Generating third position information of an icon corresponding to the output data;
    Based on the information about the extracted output data and the generated third position information, generate third record information, store the display information,
    The computer, wherein the third position information is stored in the related position information of the first record information.
  12.  請求項9から11のいずれか一項に記載の計算機であって、
     前記デバッガは、
     処理の起点となる前記関数又は前記データの名称と、前記表示情報の生成方向の指定を受け付けることによって処理を開始し、
     前記表示情報の生成方向は、前記起点から前記プログラムの実行順に前記レコード情報を生成する順方向、又は、前記起点から前記プログラムの実行順とは逆にさかのぼって前記レコード情報を生成する逆方向のいずれかを選択可能であることを特徴とする計算機。
    The computer according to any one of claims 9 to 11,
    The debugger is
    The process is started by accepting the name of the function or the data that is the starting point of the process and the designation of the generation direction of the display information,
    The generation direction of the display information is a forward direction in which the record information is generated in the execution order of the program from the starting point, or a reverse direction in which the record information is generated backward from the starting point in the execution order of the program. A computer characterized in that either can be selected.
  13.  請求項12に記載の計算機であって、
     前記デバッグ情報は、前記プログラムの実行順に前記ログ情報が格納され、
     前記表示情報生成部は、
     前記順方向の前記表示情報の生成指示を受け付けた場合に、起点となる前記関数又は前記データに対応する前記ログ情報から下位に格納された前記ログ情報を読み出すことによって、前記表示情報を生成することを特徴とする計算機。
    The computer according to claim 12, comprising:
    The debug information stores the log information in the execution order of the program,
    The display information generation unit
    When receiving an instruction to generate the display information in the forward direction, the display information is generated by reading the log information stored in the lower order from the log information corresponding to the function or the data serving as a starting point. A computer characterized by that.
  14.  請求項12に記載の計算機であって、
     前記デバッグ情報は、前記プログラムの実行順に前記ログ情報が格納され、
     前記表示情報生成部は、
     前記逆方向の表示情報の生成指示を受け付けた場合に、起点となる前記関数又は前記データに対応する前記ログ情報から上位に格納された前記ログ情報を読み出すことによって、前記表示情報を生成することを特徴とする計算機。
    The computer according to claim 12, comprising:
    The debug information stores the log information in the execution order of the program,
    The display information generation unit
    When receiving an instruction to generate display information in the reverse direction, the display information is generated by reading the log information stored at a higher level from the log information corresponding to the function or the data serving as a starting point. A computer characterized by
  15.  請求項9から14のいずれか一項に記載の計算機であって、
     前記表示情報生成部は、
     前記第1のログ情報から抽出された前記関数が、ループ的に繰り返し実行される関数であるか否かを判定し、
     前記第1のログ情報から抽出された関数が、ループ的に繰り返し実行される関数であると判定された場合には、その関数に関連する前記入力データのレコード情報又は前記出力データのレコード情報を一つ生成し、
     前記生成された入力データのレコード情報又は前記生成された出力データのレコード情報に、ループ毎の前記入力データの値又は前記出力データの値を格納することを特徴とする計算機。
    A computer according to any one of claims 9 to 14,
    The display information generation unit
    Determining whether the function extracted from the first log information is a function that is repeatedly executed in a loop;
    When it is determined that the function extracted from the first log information is a function that is repeatedly executed in a loop, the record information of the input data or the record information of the output data related to the function is obtained. Create one
    A computer that stores the value of the input data or the value of the output data for each loop in the record information of the generated input data or the record information of the generated output data.
  16.  請求項11から15のいずれか一項に記載の計算機であって、
     前記表示情報生成部は、
     前記表示情報に含まれる前記レコード情報を読み出し、
     前記読み出されたレコード情報の前記位置情報に基づいて、そのレコード情報に対応するアイコンを表示し、
     前記読み出されたレコード情報の前記関連位置情報を参照して、関連する前記レコード情報が存在するか否かを判定し、
     関連する前記レコード情報が存在する場合には、前記読み出されたレコード情報に対応するアイコンと、前記関連するレコード情報に対応するアイコンとを接続して表示することを特徴とする計算機。
    A computer according to any one of claims 11 to 15,
    The display information generation unit
    Read the record information included in the display information,
    Based on the position information of the read record information, an icon corresponding to the record information is displayed,
    With reference to the related position information of the read record information, it is determined whether or not the related record information exists,
    When the related record information is present, an icon corresponding to the read record information and an icon corresponding to the related record information are connected and displayed.
  17.  複数の命令文を含むソースコードをコンパイルすることによって生成されたプログラムにおける障害を特定し、前記プログラムを修正する計算機が実行するデバッグ支援プログラムであって、
     前記計算機は、プロセッサと、前記プロセッサに接続される主記憶装置と、前記プロセッサに接続される副記憶装置とを備え、
     前記計算機は、前記ソースコードをコンパイルすることによって生成されたデバッグ情報を格納し、
     前記デバッグ情報は、少なくとも、前記ソースコードにおける前記命令文の位置を示す位置番号、前記命令文に含まれる関数の名称及び前記命令文に含まれるデータの名称を含み、
     前記デバッグ支援プログラムは、
     デバッグ処理の開始命令を受け付けると、前記デバッグ情報を参照して、前記関数を含む実行系の命令文を実行する第1の手順と、
     前記実行系の命令文の実行結果に基づいて、前記関数、前記関数に入力される入力データ及び前記関数から出力される出力データから構成されるログ情報を含むデータ遷移情報を生成する第2の手順と、
     前記データ遷移情報に基づいて、前記関数と前記入力データとの遷移状態及び前記関数と前記出力データとの遷移状態を表示するための表示情報を生成する第3の手順と、を前記プロセッサに実行させることを特徴とするデバッグ支援プログラム。
    A debugging support program executed by a computer that identifies a failure in a program generated by compiling a source code including a plurality of statements and corrects the program,
    The computer includes a processor, a main storage device connected to the processor, and a secondary storage device connected to the processor,
    The computer stores debug information generated by compiling the source code,
    The debug information includes at least a position number indicating the position of the statement in the source code, a function name included in the statement, and a data name included in the statement.
    The debugging support program is:
    A first procedure for executing an execution statement including the function with reference to the debug information upon receiving a debug process start instruction;
    Generating second data transition information including log information composed of the function, input data input to the function, and output data output from the function, based on an execution result of the execution command statement; Procedure and
    Based on the data transition information, the processor executes a third procedure for generating display information for displaying a transition state between the function and the input data and a transition state between the function and the output data. A debugging support program characterized by causing
  18.  請求項17に記載のデバッグ支援プログラムであって、
     前記第3の手順は、
     前記データ遷移情報から前記ログ情報を取得する手順と、
     前記取得されたログ情報に基づいて、前記関数、前記入力データ及び前記出力データに対応するアイコンの表示位置である位置情報を生成する手順と、
     前記ログ情報と前記生成された位置情報とに基づいて、前記表示情報を生成する手順と、を含むことを特徴とするデバッグ支援プログラム。
    A debugging support program according to claim 17,
    The third procedure is:
    Obtaining the log information from the data transition information;
    A procedure for generating position information that is a display position of an icon corresponding to the function, the input data, and the output data based on the acquired log information;
    And a procedure for generating the display information based on the log information and the generated position information.
  19.  請求項17又は請求項18に記載のデバッグ支援プログラムであって、
     前記表示情報は複数のレコード情報を含み、
     前記レコード情報は、前記関数を含む前記命令文又は前記データを含む前記命令文の前記位置番号、前記関数又は前記データの前記位置情報と、前記関数、前記入力データ又は前記出力データと関連する他の前記関数、前記入力データ又は前記出力データに対応するアイコンの表示位置である関連位置情報とを含み、
     前記第3の手順は、
     前記データ遷移情報から第1のログ情報を取得する手順と、
     前記取得された第1のログ情報から前記関数に関する情報を抽出するステップと、
     前記関数に対応するアイコンの第1の位置情報を生成する手順と、
     前記抽出された関数に関する情報と、前記生成された第1の位置情報とに基づいて、第1のレコード情報を生成し、前記表示情報に格納する手順と、
     前記取得された第1のログ情報から前記入力データに関する情報を抽出するステップと、
     前記入力データに対応するアイコンの第2の位置情報を生成する手順と、
     前記抽出された入力データに関する情報と、前記生成された第2の位置情報とに基づいて、第2のレコード情報を生成し、前記表示情報を格納する手順と、
     前記生成された第2のレコード情報の前記関連位置情報に、前記第1の位置情報を格納する手順と、
     前記取得された第1のログ情報から前記出力データに関する情報を抽出するステップと、
     前記出力データに対応するアイコンの第3の位置情報を生成する手順と、
     前記抽出された出力データに関する情報と、前記生成された第3の位置情報とに基づいて、第3のレコード情報を生成し、前記表示情報を格納する手順と、
     前記第1のレコード情報の前記関連位置情報に、前記第3の位置情報を格納する手順と、
    を含むことを特徴とするデバッグ支援プログラム。
    The debugging support program according to claim 17 or 18,
    The display information includes a plurality of record information,
    The record information includes the position number of the command statement including the function or the command statement including the data, the position information of the function or the data, and other information related to the function, the input data, or the output data. And related position information which is a display position of an icon corresponding to the input data or the output data,
    The third procedure is:
    Acquiring first log information from the data transition information;
    Extracting information related to the function from the acquired first log information;
    Generating first position information of an icon corresponding to the function;
    A procedure for generating first record information based on the information on the extracted function and the generated first position information, and storing the first record information in the display information;
    Extracting information related to the input data from the acquired first log information;
    Generating second position information of an icon corresponding to the input data;
    A procedure for generating second record information and storing the display information based on the information related to the extracted input data and the generated second position information;
    A procedure of storing the first position information in the related position information of the generated second record information;
    Extracting information related to the output data from the acquired first log information;
    Generating third position information of an icon corresponding to the output data;
    A procedure for generating third record information on the basis of the information on the extracted output data and the generated third position information, and storing the display information;
    A procedure for storing the third position information in the related position information of the first record information;
    A debugging support program comprising:
  20.  請求項19に記載のデバッグ支援プログラムであって、
     前記デバッグ支援プログラムは、
     前記表示情報に含まれる前記レコード情報を読み出す手順と、
     前記読み出されたレコード情報の前記位置情報に基づいて、そのレコード情報に対応するアイコンを表示する手順と、
     前記読み出されたレコード情報の前記関連位置情報を参照して、関連する前記レコード情報が存在するか否かを判定する手順と、
     関連する前記レコード情報が存在する場合には、前記読み出されたレコード情報に対応するアイコンと、前記関連するレコード情報に対応するアイコンとを接続して表示する手順と、を前記プロセッサに実行させることを特徴とするデバッグ支援プログラム。
    The debugging support program according to claim 19,
    The debugging support program is:
    A procedure for reading the record information included in the display information;
    A procedure for displaying an icon corresponding to the record information based on the position information of the read record information;
    A procedure for determining whether or not the related record information exists with reference to the related position information of the read record information;
    When the related record information is present, the processor is caused to execute a procedure for connecting and displaying an icon corresponding to the read record information and an icon corresponding to the related record information A debugging support program characterized by that.
PCT/JP2011/069954 2011-09-01 2011-09-01 Debugging assistance method, computer and debugging assistance program WO2013031010A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/069954 WO2013031010A1 (en) 2011-09-01 2011-09-01 Debugging assistance method, computer and debugging assistance program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/069954 WO2013031010A1 (en) 2011-09-01 2011-09-01 Debugging assistance method, computer and debugging assistance program

Publications (1)

Publication Number Publication Date
WO2013031010A1 true WO2013031010A1 (en) 2013-03-07

Family

ID=47755558

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/069954 WO2013031010A1 (en) 2011-09-01 2011-09-01 Debugging assistance method, computer and debugging assistance program

Country Status (1)

Country Link
WO (1) WO2013031010A1 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63177230A (en) * 1987-01-19 1988-07-21 Hitachi Ltd Display system for execution of program
JPH0283634A (en) * 1988-09-20 1990-03-23 Nec Corp Program debugging system
JPH0324639A (en) * 1989-06-21 1991-02-01 Hitachi Ltd Method for supporting program understanding
JPH05181655A (en) * 1991-12-27 1993-07-23 Nissan Motor Co Ltd Specifications display device
JPH07191873A (en) * 1993-12-27 1995-07-28 Nec Software Ltd Transition output system for value of variable at debugger
JP2003108404A (en) * 2001-09-27 2003-04-11 Toshiba Corp Debug device, debug method, and debug program
JP2007034825A (en) * 2005-07-28 2007-02-08 Matsushita Electric Ind Co Ltd Debugging device
JP2010198479A (en) * 2009-02-26 2010-09-09 Hitachi Software Eng Co Ltd System for automatically executing application test
JP2011008395A (en) * 2009-06-24 2011-01-13 Renesas Electronics Corp Debugging support apparatus and debugging support method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63177230A (en) * 1987-01-19 1988-07-21 Hitachi Ltd Display system for execution of program
JPH0283634A (en) * 1988-09-20 1990-03-23 Nec Corp Program debugging system
JPH0324639A (en) * 1989-06-21 1991-02-01 Hitachi Ltd Method for supporting program understanding
JPH05181655A (en) * 1991-12-27 1993-07-23 Nissan Motor Co Ltd Specifications display device
JPH07191873A (en) * 1993-12-27 1995-07-28 Nec Software Ltd Transition output system for value of variable at debugger
JP2003108404A (en) * 2001-09-27 2003-04-11 Toshiba Corp Debug device, debug method, and debug program
JP2007034825A (en) * 2005-07-28 2007-02-08 Matsushita Electric Ind Co Ltd Debugging device
JP2010198479A (en) * 2009-02-26 2010-09-09 Hitachi Software Eng Co Ltd System for automatically executing application test
JP2011008395A (en) * 2009-06-24 2011-01-13 Renesas Electronics Corp Debugging support apparatus and debugging support method

Similar Documents

Publication Publication Date Title
JP6678780B2 (en) Process visualization platform
US10354225B2 (en) Method and system for process automation in computing
CN110928772B (en) Test method and device
EP2246787B1 (en) Systems and methods for identifying the root cause of an application failure in a mainframe environment based on relationship information between interrelated applications
US10540266B2 (en) Method and system for testing software based system
CN107844331B (en) Method, device and equipment for generating boot configuration file
US20110016452A1 (en) Method and system for identifying regression test cases for a software
US20080215389A1 (en) Model oriented business process monitoring
Roehm et al. Monitoring user interactions for supporting failure reproduction
JP5614843B2 (en) Integrated software design and operation management system
CN108595343A (en) The test method and device of application program
CN110515679A (en) Collecting method, device, equipment and storage medium
WO2015041648A1 (en) Application menu modification recommendations
CN113568825B (en) Program flow debugging method, device, equipment and storage medium
US10083106B2 (en) Computer aided bug reporting system for GUI applications
JP2005258501A (en) Obstacle influence extent analyzing system, obstacle influence extent analyzing method and program
JP2005332098A (en) Testing item extraction system, testing item extraction device, testing item extraction method used for the device, and program therefor
WO2013031010A1 (en) Debugging assistance method, computer and debugging assistance program
JP2005266919A (en) System analysis device and analysis system
Sözer Architecting fault-tolerant software systems
US9268675B2 (en) Computerized system and method for auditing software code
CN111143206A (en) Data acquisition method and device, electronic equipment and storage medium
Nguyen et al. Automatic construction of timing diagrams from UML/MARTE models for real-time embedded software
JP4936015B2 (en) Quality control device, quality control system, quality control method and program
Bodden et al. Explainable static analysis

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11871481

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11871481

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP