A debugger for debugging, from a central location (e.g., a user terminal 13), jobs or processes running on one or more remote units (11) connected to the user terminal (13) via a communication network (15). The user terminal (13) includes a debugger (21) that receives and interprets debug commands produced by a keyboard and display console (19). The debug commands fall in any one of three categories--debug commands directed to the user terminal (USER TERMINAL CONTROL commands); debug commands directed to a particular remote unit (REMOTE UNIT CONTROL commands); and, debug commands directed to a specific job or process of multiple jobs or processes running on a particular remote unit (LOCAL JOB/PROCESS commands). The USER TERMINAL CONTROL commands are executed at the user terminal (13). The REMOTE UNIT CONTROL commands and LOCAL JOB/PROCESS commands are transmitted to the remote units (11) via the communication network (15). Each of the remote units (11) includes a remote unit debugger (23) and a local job/process debugger (25) for each job or process subject to debug control. The remote unit debuggers (23) and the local process debuggers (25) receive and carry out the REMOTE UNIT CONTROL commands and the LOCAL JOB/PROCESS commands, respectively. The remote unit and local job/process debuggers send ACKNOWLEDGE or NEGATIVE-ACKNOWLEDGE messages to the user terminal debugger (21) after a debug operation is executed, depending upon whether the execution was successful or unsuccessful. If successful, data accompanying the ACKNOWLEDGE message is displayed at the user terminal. Contrariwise, a NEGATIVE-ACKNOWLEDGE message creates a suitable error display at the user terminal. Further, the local job/process debuggers (25) can send a message to the user terminal debugger (21) in situations where an error is recognized during the operation of a job or process or where a job or process is to be debugged prior to being placed in operation. Such local job/process messages cause the identity of the sending job/process debugger to be added to a debug control data base maintained in the user terminal and the message to be displayed for subsequent action by the user.
In a distributed processing system where a series of processes are carried out by distributed processors connected through a network without provision of a control processor which controls the overall system, an arbitrary processor generates test information and the processors, each having a memory for storing a program to be tested, decide whether or not the program is to be test-run in accordance with the test information and, if test-run is carried out, send out the result of the test-run program into the network when necessary.
An improved method and apparatus is disclosed for determining the internal state of a processor without disturbing the operational environment of the processor. A two phase process is employed. In the first phase, external signals produced by the processor in the execution of a known program are monitored and recorded for subsequent analysis. In the second phase, the recorded information is analyzed in the light of the known characteristic of the processor, the program it was executing, and the signals recorded during the first phase. The internal state of the processor is thereby determined after the execution of each instruction. In addition, provisions are made for the specification of breakpoints, and the examination of simulated status of the processor on the occurrence of the breakpoints.
A system uses variable ranges to support symbolic debugging of optimized code. A debug symbol table is constructed which includes descriptions of each user resource in source code. Additionally, a range table is constructed. The range table contains, for each user resource which is stored in numerous locations during execution of the code, a list of ranges and a description of where the user resource may be found during each range. If the user resource is stored as a constant during a particular range, the value of the constant may be stored in the range table. The description of each user resource in the debug symbol table includes a flag which indicates whether there is a list of ranges in the range table for a particular user resource. If there is, the description of the particular user resource will include a pointer to the list of ranges for that user resource.
A method of debugging and a method of monitoring an analysis instrument are provided. A microcomputer of the analysis instrument is provided with a debugging personal computer connected thereto via remote communication means. The analysis instrument has detecting means for checking operation status installed therein. An operator debugs contents stored in the analysis instrument via the communication means after checking as to whether trouble exists in each device according to testing information provided by the detecting means.
In a parallel computer, a method for controlling a debugging process includes the steps of registering identifiers of plural processors into an execution waiting queue in a predetermined order; executing a corresponding program by each of the processors in an order until it is brought into either a waiting state or an end state; registering the identifier of the processor of the waiting state as a last element of the execution waiting queue; and repeating the executing step until there are no executable processors. A program having a bug is determined from the identifiers left in the execution waiting queue. Further, the debugging-process control method further includes outputting trace data during execution of the executing step, the program having the bug is determined from this trace data.