WO2000043885A1 - Verfahren zum tracen von daten - Google Patents

Verfahren zum tracen von daten Download PDF

Info

Publication number
WO2000043885A1
WO2000043885A1 PCT/DE2000/000018 DE0000018W WO0043885A1 WO 2000043885 A1 WO2000043885 A1 WO 2000043885A1 DE 0000018 W DE0000018 W DE 0000018W WO 0043885 A1 WO0043885 A1 WO 0043885A1
Authority
WO
WIPO (PCT)
Prior art keywords
procedure
svc
data
operating system
memory
Prior art date
Application number
PCT/DE2000/000018
Other languages
English (en)
French (fr)
Inventor
Matthias Slomak
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to US09/889,644 priority Critical patent/US6785883B1/en
Priority to DE10080128T priority patent/DE10080128D2/de
Publication of WO2000043885A1 publication Critical patent/WO2000043885A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Definitions

  • a process is the process of an algorithmic, i.e. in a sequence of individual information processing steps, ongoing information processing. Examples of processes are editing files or sending emails;
  • Examples of information processing steps are opening, printing and / or saving a file or changing a memory area in the main memory.
  • the execution of the information processing steps by a processor takes place under the control of programs which consist of a sequence of instructions - also called "machine instructions". Different elementary processing steps of the processor are identified by different machine commands. Examples of elementary processing steps are arithmetic operations, for example integer addition or subtraction.
  • the program thus indicates to the processor which of its elementary processing steps are to be carried out in which order.
  • the programs use different components of a contemporary information processing device to carry out the information processing steps. These components are also called 'equipment'. Examples of resources are printers, processors, storage space or files. In order to ensure the best possible utilization of the resources, they are usually used simultaneously, that is, mutually or jointly. sa, used.
  • This mode of operation of the device is 'multi-tasking ⁇ ' or called 'multi-tasking', ie a direction ⁇ processed seemingly simultaneously several programs.
  • the programs can be processed sequentially, ie one after the other, or concurrently, ie interlinked in time.
  • the interlocking execution of several programs is also called 'interleaving'.
  • An operating system includes those programs that control and monitor, among other things, access to the resources, the chronological order of processing of the programs running in the device, and the maintenance of the operating mode. To distinguish them, these control programs are called “operating system programs” or “system software” and the programs “user programs” or “application software” that access the equipment with the aid of the system software.
  • processors In order to support this division of the program into two classes, modern processors usually provide two operating modes, a privileged operating mode - also called 'system mode' - in which all machine commands can be executed without limiting their mode of operation, and a non-privileged operating mode - also 'user mode' called -, in which some machine commands are limited or prohibited in their mode of operation. For example, in the non-privileged operating mode, those machine commands are prohibited with which direct access to the equipment of the device is effected.
  • the application software usually runs in user mode and the System software in system mode. The application software can therefore only access the equipment of the facility with the help of the system software.
  • the user programs therefore do not contain any program parts which, for example, determine in which memory cells of a working memory the user programs are stored, how and where the data of the user programs are stored on background memories, for example hard disks, in which order the user programs are processed or how User programs and data are protected against unauthorized access.
  • These and other tasks are performed by the operating system. For example, the following basic information processing steps are carried out by the operating system: - Reading in a character from a keyboard
  • Procedures are sequences of machine commands combined into callable units. These are generally called up by the application software.
  • an operating system procedure is usually called using a machine command with which the processor interrupts the execution of the calling program and branches to the system software. The interruption is also called 'interrupt', the machine command 'SVC (supervisor call) and the operating system procedure called also' SVC procedure '.
  • the next branch that is to say the machine instruction of the calling program which immediately follows the machine instruction SVC in the machine instruction sequence of the calling program, is usually branched to.
  • the common way to find errors is to log the execution of a program's procedures using a trace program - also called a 'debugger'.
  • the program is followed step by step under the control of the debugger.
  • the program flow is e.g. stopped by the debugger after each step and data stored in memory cells of the working memory, e.g. the call and result parameters are displayed.
  • the execution of a program generally takes place without the control of a debugger, since a debugger significantly reduces the running time of a program, e.g. is slowed down by a factor of ten.
  • Sporadically occurring errors when running a program under the control of a debugger often no longer occur due to the slowed down time of the program.
  • debugging requires that the faulty program be terminated and then started with a debugger, which leads to an interruption of the program.
  • This method is therefore unsuitable for locating errors in operating system programs, since the operating system programs are usually not intended to be ended and restarted because of the interruption in the operation of the device which is usually associated with this. This is not desirable, in particular, for facilities for arranging telephone calls.
  • the invention is therefore based on the object of developing a method of the type mentioned at the outset in such a way that the tracing of data is improved.
  • the object is achieved by the features of patent claim 1.
  • the invention can essentially be seen in the fact that a first procedure - also called a trace procedure in the following - takes a first piece of information - also called trace control data - from a data structure stored in the memory of a device, with the aid of the trace control data at least one memory area is determined, and at least the data stored in the memory area are traced.
  • the main advantage of the method according to the invention results from the fact that, as a result of the separation of the trace control data from the trace procedure, it can be determined very flexibly and without having to retranslate the trace procedure which data is to be traced by the trace procedure.
  • additional data can be logged during the tracing by expanding the trace control data if, for example, it is recognized during troubleshooting that tracing the further data is necessary for the diagnosis of the fault.
  • tracing can also be prevented without interrupting operation, since no memory areas to be traced are specified by the trace control data. This is particularly advantageous operating system procedures at Be ⁇ , since all user programs more quickly to the end, when the tracing is omitted.
  • operating system procedures at Be ⁇ since all user programs more quickly to the end, when the tracing is omitted.
  • by gradually reducing the scope of the data to be traced or by selectively tracing very little data in the case of sporadically occurring errors these errors can continue to occur, provided that the time-based course of the operating system procedures is only minimally delayed by the targeted tracing becomes.
  • the memory area is defined by an indication of the memory address of the first memory cell and the number of memory cells contained in the first information - claim 2.
  • the number of memory cells is determined by indicating the type of memory in Defined data stored in the memory area - Claim 3.
  • the storage area is a first in the information ⁇ maintained ent specifying the memory addresses of the first memory cell and the last memory cell defined - in claim 4.
  • advantageous arbitrary memory areas can be specified. This is particularly advantageous, for example, if data with different data types are stored in the memory area and consequently it is not possible to specify a length for each data type.
  • an operating system that operates the device and contains at least the trace procedure and a second procedure - hereinafter also called the SVC procedure - instead of the SVC procedure when the SVC procedure is called Trace procedure is called - claim 5.
  • the trace procedure thus advantageously comes to an end, although the SVC procedure was called by the caller. This means that no change to the calling program is required, which advantageously eliminates the need to retranslate the calling program. This is particularly advantageous if the calling program e.g. cannot be compiled due to the absence of program source files.
  • the SVC procedure is called by the trace procedure - claim 6. This advantageously provides the service provided by the SVC procedure even when branching to the trace procedure.
  • At least the data stored in the memory area is dependent on second information contained in the data structure and defining the point in time at which the memory area was traced - also called trace control data hereinafter - before and / or after Calling the SVC procedure to be traced - Claim 7.
  • trace control data hereinafter - before and / or after Calling the SVC procedure to be traced - Claim 7.
  • the scope of the data to be traced can be regulated as required.
  • the call parameters passed by the program actually calling the SVC procedure are only of interest before the call and the result parameters formed by the SVC procedure are only of interest after the SVC procedure is called.
  • the device is controlled by the operating system in such a way that only the operating system can access the data structure - claim 8.
  • the trace control data can neither be accidentally, e.g. due to a program error in the user software, intentionally, e.g. to modify the operating system by a computer virus.
  • the trace control data are modified by the operating system as a function of control information - this is advantageous, since it is often only during the error analysis that it becomes clear which data should be traced and when.
  • the operating system depending on further control information, sets that when the SVC procedure is called, instead of the SVC procedure, the trace procedure is called up.
  • Claim 10 can thus optionally be set whether the SVC procedure is to be traced or not. If tracing is deactivated, the processing speed of the operating system increases due to the fact that tracing does not take place.
  • the modifications effected by the operating system take place during the operation of the device be at any time during operation of the device in the lersuche Def ⁇ set flexibly as required, what data is traced by which procedure the operating system.
  • FIG. 1 shows an example of an information processing device E which contains at least process processing devices and storage means.
  • the process-processing devices are designed as processors CPU, the storage means as RAM memories MEM.
  • the processor CPU and the memory MEM are connected to one another.
  • Data D is stored in the memory MEM in memory areas SB which are formed from one or more adjacent memory cells SZ.
  • the operation of the device E is regulated by an operating system BS stored in the memory MEM.
  • the operating system BS here comprises (1) a plurality of operating system procedures BSP, (2) an interrupt vector IRV and (3) a data structure DS.
  • An interrupt handler IRH, a trace procedure TRC and a first SVC procedure SVC (1) and a second SVC procedure SVC (2) are provided as operating system procedures BSP.
  • the interrupt vector IRV is provided for the internal management of the operating system procedures BSP and contains one first procedure IR1 reference to the operating system procedure SVC (1) and a second procedure reference IR2 on the trace Pro ⁇ zedur TRC.
  • a trace control data vector TSDV and trace control data TSD are stored in the data structure DS.
  • the trace control data vector TSDV is provided for the internal management of the trace control data TSD.
  • the storage in the data structure DS advantageously separates the trace control data TSD from the trace procedure TRC.
  • the trace procedure TRC refers to the trace control data vector TSDV that manages the trace control data TSD.
  • the trace control data vector TSDV contains a first trace control data reference TSDP (IR1) and a second trace control data reference TSDP (IR2).
  • the first trace control data reference TSDP (IR1) refers to first trace control data TSD (1), which in turn refers to second trace control data TSD (2).
  • the second trace control data reference TSDP (IR2) refers to third trace control data TSD (3).
  • the trace control data TSD is stored in the memory areas SB (TSD).
  • a trace control data reference TSDV IR1
  • IR2 trace control data reference
  • the process processing is controlled by the operating system procedures BSP and / or user programs BP stored in the memory MEM.
  • a first user program BP (1) and a second user program BP (2) are indicated as user programs BP.
  • the operating mode BM of the processor CPU is here rend set of execution of operating system procedures BSP to a privileged operating mode PM during the execution of the user procedures BP to a non-privileged operating mode NPM and currency ⁇ . Access by the user programs BP to the data structure DS is thereby excluded, since the data structure DS is assigned to the operating system BS and can therefore only be accessed in the privileged operating mode PM.
  • Call parameters AP and result parameters EP which the operating system BS and the user program BP (1) can access, are also stored in the memory MEM.
  • FIG. 2 shows an example of a call to the trace procedure TRC with the accesses to data D in the memory MEM.
  • Four sequence sequences are provided which represent the sequence of the user programs BP and three operating system procedures BSP - the interrupt handler IRH, the trace procedure TRC and the SVC procedure SVC.
  • the operating system procedures BSP represent parts of the operating system BS and are processed by the processor CPU in the privileged operating mode PM, while the user programs BP run in the non-privileged operating mode NPM.
  • the data D which are accessed by the programs and which are stored in the memory MEM are represented by three dashed lines which represent the data structure DS, the interrupt vector IRV and memory areas SB. The dashed line indicates that the data are only used by the programs, but do not themselves contain any program parts which effect the execution of the method according to the invention.
  • the user program BP (1) calls the SVC procedure SVC (2).
  • Call parameters AP are transferred to the operating system BS by storing the call parameters in the memory area SB (AP).
  • the call is made by the machine command Interrupt-Request IRQ (SVC (2)), through which it is shown that the SVC procedure SVC (2) is to be executed.
  • the interrupt request IRQ (SVC (2)) the process of the user program is interrupted BP (1) un ⁇ from the processor CPU and the interrupt handler instead IRH tet machined.
  • the operating mode of the processor is switched from a non-privileged operating mode NPM to a privileged operating mode PM.
  • the interrupt vector IRV is accessed by the interrupt handler IRH and is stored at a fixed location in the operating system BS.
  • the operating system BS is configured using control information SI (IRV) in such a way that every call to the SVC procedure SVC (2) is traced.
  • SI control information
  • the procedure reference IR2 in the interrupt vector IRV does not refer to the SVC procedure SVC (2), but to the trace procedure TRC.
  • the interrupt handler IRH therefore calls the trace procedure TRC instead of the originally called SVC procedure SVC (2) after evaluating the interrupt reference IR2, which takes place with the help of evaluation commands EVAL (IRV), with the help of call commands CALL (TRC) .
  • the trace procedure TRC accesses the data structure DS and the trace control data TSD (3) is extracted.
  • the data structure DS is accessed with evaluation commands EVAL (DS).
  • the information INF1 (3) and INF2 (3) are taken from the trace control data TSD (3).
  • the trace control data TSD (3) are configured using control information SI (DS) in such a way that the first information INF1 (3) contains the memory area SB (AP) in which the call parameters AP are stored and is identified by the second information INF2 (3) is determined that the tracing of the memory area SB (AP) is to take place before the SVC procedure SVC (2) is called.
  • the trace procedure TRC then traces the call parameters AP stored in the memory area SB (AP) using the trace commands TRACE (1).
  • the trace procedure TRC then calls the SVC procedure SVC (2) with the help of call commands CALL (SVC (2)).
  • SVC procedure SVC (2) are stored in the Speicherbe ⁇ rich SB (EP) the result parameter EP.
  • the processing of the trace procedure TRC is continued. Since no further relevant trace control data TSD are stored in the data structure DS, no further tracing of data takes place. Processing within the operating system BS is thus completed and processing of the user program BP (1) is continued. Usually, the operating mode of the processor CPU is switched back from the privileged operating mode PM back to the non-privileged operating mode PM.
  • the data structure DS is expanded by the entry of control information SI (DS) by further trace control data TSD (4), which one contain first information INF1 (4) and a second information INF2 (4).
  • the first information INF1 (4) identifies the memory area SB (EP) in which the result parameters EP are stored
  • the second information INF2 (4) specifies that the tracing of the memory area SB (AP) after calling the SVC procedure SVC (2) should take place.
  • the memory area SP is determined by specifying the memory address of the first memory cell SZ of the memory area SP (EP) and specifying the data type INTEGER.
  • the determination can be made by specifying the first and the last memory cell of a memory area SB.
  • the trace control data TSD may need to be traced to test the trace procedure.
  • the entire memory area SB (DS) is traced, in which the trace control data TSD are usually stored.
  • the storage area SB (DS) is determined by specifying the first and the last storage cell SZ for the Memory area SB (DS) provided memory cells SZ. In ⁇ this modification follow are traced at each time the SVC procedure SVC (2) from the trace procedure TRC, the result parameter EP using the Trace commands TRACE (2) of drive, before proceeding with the processing of the calling user program BP.

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

In einer Einrichtung (E), die in einem aus Speicherzellen (SZ) bestehenden Speicher (MEM) in einer Datenstruktur (DS) gespeicherte Tracesteuerdaten (TSD) enthält, durch die zumindest aus einer oder mehreren benachbarten Speicherzellen bestehende Speicherbereiche (SB) definiert werden, werden von einer Prozedur (TRC) mit Hilfe von den der Datenstruktur (DS) entnommenen Tracesteuerdaten (TSD) die Speicherbereiche (SB) ermittelt und die darin gespeicherten Daten (D) getraced. Hierdurch wird ohne Neuübersetzung der Prozedur (TRC) ein flexibel während des Betriebs der Einrichtung konfigurierbares Tracen der Daten (D) ermöglicht.

Description

Beschreibung
Verfahren zum Tracen von Daten
In einer zeitgemäßen Einrichtung zur Verarbeitung von Informationen kommen üblicherweise eine Vielzahl von Informationsverarbeitungsvorgängen - auch 'Prozesse' genannt - auf den in der Einrichtung vorgesehenen prozeßverarbeitenden Einrichtungen, z.B. Prozessoren, zum Ablauf. Hierbei versteht man unter einem Prozeß den Vorgang einer algorithmisch, d.h. in einer Abfolge von einzelnen Informationsverarbeitungschritten, ablaufenden Informationsverarbeitung. Beispiele für Prozesse sind das Editieren von Dateien oder Vermitteln von E-Mails;
Beispiele für Informationsverarbeitungsschritte sind das Öffnen, Drucken und/oder Speichern einer Datei oder das Ändern eines Speicherbereichs im Arbeitsspeicher.
Die Ausführung der Informationsverarbeitungschritte durch einen Prozessor erfolgt unter der Steuerung von Programmen, die aus einer Folge von Anweisungen - auch 'Maschinenbefehle' genannt - bestehen. Hierbei werden durch unterschiedliche Maschinenbefehle unterschiedliche elementare Verarbeitungs- schritte des Prozessors gekennzeichnet. Beispiele für elementare Verarbeitungsschritte sind arithmetische Operationen, z.B. ganzzahlige Addition oder Subtraktion. Durch das Programm wird dem Prozessor somit angezeigt, welche seiner elementaren Verarbeitungsschritte in welcher Reihenfolge er- bracht werden sollen. Zur Durchführung der Informationsverarbeitungschritte werden von den Programmen je nach Art der Informationsverarbeitungschritte unterschiedliche Komponenten einer zeitgemäßen Informationsverarbeitungseinrichtung genutzt. Diese Komponenten werden auch 'Betriebsmittel' ge- nannt. Beispiele für Betriebsmittel sind Drucker, Prozessoren, Speicherplatz oder Dateien. Um eine möglichst optimale Auslastung der Betriebsmittel zu gewährleisten, werden diese üblicherweise gleichzeitig, d.h. wechselseitig oder gemein- sa , genutzt. Diese Betriebsart der Einrichtung wird 'Mehr¬ programmbetrieb' bzw. 'Multi-Tasking' genannt, d.h. die Ein¬ richtung verarbeitet scheinbar gleichzeitig mehrere Programme. Die Abarbeitung der Programme kann hierbei sequen- tiell, d.h. eines nach dem anderen, oder nebenläufig, d.h. zeitlich ineinander verzahnt, erfolgen. Die verzahnte Abarbeitung von mehreren Programmen wird auch ' Interleaving' genannt .
Da beispielsweise durch die gleichzeitige Benutzung der Betriebsmittel Konflikte entstehen können - beispielsweise, wenn zwei Programme gleichzeitig auf demselben Drucker Daten ausgeben oder gleichzeitig auf eine gleiche Datei schreibend zugreifen möchten - ist zur Verwaltung der Betriebsmittel üb- licherweise ein Betriebssystem vorgesehen. Ein Betriebssystem umfaßt hierbei diejenigen Programme, die unter anderem den Zugriff auf die Betriebsmittel, die zeitliche Reihenfolge der Bearbeitung der in der Einrichtung ablaufenden Programme und die Aufrechterhaltung der Betriebsart steuern und überwachen. Zur Unterscheidung werden diese Steuerungsprogramme 'Betriebssystemprogramme' oder auch 'Systemsoftware' und die auf die Betriebsmittel mit Hilfe der Systemsoftware zugreifenden Programme 'Benutzerprogramme' oder auch 'AnwendungsSoftware' genannt .
Zeitgemäße Prozessoren sehen zur Unterstützung dieser Einteilung der Programme in zwei Klassen üblicherweise zwei Betriebsmodi vor, einen privilegierten Betriebsmodus - auch 'Systemmodus' genannt -, in dem alle Maschinenbefehle ohne Begrenzung ihrer Wirkungsweise ausgeführt werden dürfen, und einem nicht privilegierten Betriebsmodus - auch 'Usermodus' genannt -, in dem einige Maschinenbefehle in ihrer Wirkungsweise begrenzt oder untersagt sind. Beispielsweise sind in dem nicht privilegierten Betriebsmodus diejenigen Maschinen- befehle untersagt, mit denen ein direkter Zugriff auf die Betriebsmittel der Einrichtung bewirkt wird. Üblicherweise kommt die Anwendungssoftware im Usermodus zum Ablauf und die Systemsoftware im Systemmodus. Von der Anwendungssoftware kann somit nur mit Hilfe der Systemsoftware auf die Betriebsmittel der Einrichtung zugegriffen werden. In den Benutzerprogrammen sind somit keine Programmteile enthalten, die z.B. festlegen, in welchen Speicherzellen eines Arbeitsspeichers die Benutzerprogramme gespeichert werden, wie und wo die Daten der Benutzerprogramme auf Hintergrundspeichern, z.B. Festplatten, abgelegt werden, in welcher Reihenfolge die Be- nutzerprogramme abgearbeitet werden oder wie Benutzerpro- gramme und Daten vor unberechtigten Zugriffen geschützt werden. Diese und weitere Aufgaben, z.B. Verwaltungs-, Steue- rungs- oder Überwachungsaufgaben, werden vom Betriebssystem übernommen. Beispielsweise werden folgende elementare Informationsverarbeitungsschritte vom Betriebssystem bewirkt: - Einlesen eines Zeichens von einer Tastatur
- Ausgeben eines Zeichens auf einen Bildschirm Einlesen eines Programms in einen Speicher
Zur Durchführung der elementaren Informationsverarbeitungs- schritte sind im Betriebssystem unterschiedliche 'Betriebssystemprozeduren' vorgesehen. Prozeduren sind hierbei zu aufrufbaren Einheiten zusammengefaßte Sequenzen von Maschinenbefehlen. Diese werden im allgemeinen von der AnwendungsSoftware aufgerufen. Der Aufruf einer Betriebssystemprozedur er- folgt bei zeitgemäßen Prozessoren üblicherweise mit Hilfe eines Maschinenbefehls, mit dem von dem Prozessor der Ablauf des aufrufenden Programms unterbrochen und zu der Systemsoftware verzweigt wird. Die Unterbrechung wird auch 'Interrupt', der Maschinenbefehl 'SVC (Supervisor-Call) und die aufgeru- fene Betriebssystemprozedur auch 'SVC-Prozedur' genannt. Nach vollständiger Bearbeitung der aufgerufenen Prozedur wird üblicherweise zu dem nächsten, d.h. dem in der Maschinenbefehlsequenz des aufrufenden Programms unmittelbar auf den Maschinenbefehl SVC folgenden Maschinenbefehl des aufrufenden Pro- gramms verzweigt. Im Hinblick auf möglichst flexible Einsatzmöglichkeiten ent¬ halten Prozeduren üblicherweise variable Anteile - auch 'for¬ male Parameter' genannt -, die meist beim Aufruf der Prozedur von dem aufrufenden Programm durch die Angabe von 'Aufrufpa- rametern' festgelegt werden. Hierbei werden die formalen Pa¬ rameter nach gewissen Regeln, die auch 'Parameterübergabe' genannt werden, durch die Aufrufparameter ersetzt. Nach der Bearbeitung der Prozedur werden dem aufrufenden Programm üb¬ licherweise von der aufgerufenen Prozedur 'Ergebnisparameter' übergeben, die eine durch die Aufgabe der Prozedur bestimmte Information enthalten, z.B. eine Auftragsbestätigung, eine Fehlermeldung oder einen von der Prozedur berechneten oder ermittelten Wert. Hierbei hängt der Wert der berechneten Ergebnisparameter häufig von den Werten der Aufrufparameter ab.
Prozeduren mit formalen Parametern sind in Folge der größeren Flexibilität jedoch fehleranfälliger als Prozeduren ohne formale Parameter. Sie müssen deshalb beim Test von Programmen auf Fehlerfreiheit mit erhöhter Sorgfalt getestet werden. Hierbei sind zwei potentielle Fehlerquellen von besonderer Bedeutung:
(1) Die Werte der Ergebnisparameter der Prozeduren sind im allgemeinen nicht für alle möglichen Wert-Kombinationen der Aufrufparameter definiert. Somit ist zu testen, ob die Prozeduren immer mit zulässigen Wert-Kombinationen der Aufrufparameter aufgerufen werden
(2) Die Prozeduren können logische Codierungsfehler aufweisen. Deshalb ist zu testen, ob von den Prozeduren zu jeder zulässigen Kombination von Eingabewerten das ge- wünschte Ergebnis geliefert wird
Somit ist beim Programmtest, d.h. dem Suchen nach Fehlern in den Programmen, die Protokollierung der Aufruf- und Ergebnisparameter der Prozeduren von zentraler Bedeutung für die Überprüfung der Prozeduren.
Da jedoch wegen der Komplexität zeitgemäßer Programme ein vollständiger Test auf Fehlerfreiheit oft nicht möglich ist, weisen auch getestete Programme häufig noch Fehler auf, die somit während des Ablaufs der Programme auftreten können. Hierbei haben Fehler in den Prozeduren der Betriebssystempro¬ gramme wegen der beschriebenen zentralen Rolle des Betriebs- Systems im allgemeinen größere Folgen als Fehler in den Be¬ nutzerprogrammen, z.B. den Ausfall der Einrichtung und aller auf ihr ablaufenden Benutzerprogramme.
Die übliche Methode zum Au finden von Fehlern ist eine Proto- kollierung der Ausführung der Prozeduren eines Programms mit Hilfe eines Ablaufverfolgungsprogramms - auch 'Debugger' genannt. Hierbei wird der Ablauf des Programms unter Steuerung des Debuggers Schritt für Schritt verfolgt. Dabei wird der Programmablauf z.B. nach jedem Schritt von dem Debugger ange- halten und es können in Speicherzellen des Arbeitsspeichers gespeicherte Daten, z.B. die Aufruf- und Ergebnisparameter, angezeigt werden. Der Ablauf eines Programms erfolgt jedoch im allgemeinen ohne die Steuerung eines Debuggers, da durch einen Debugger die Abiaufzeit eines Programms signifikant, z.B. um den Faktor zehn, verlangsamt wird. Zudem treten z.B. sporadisch auftretende Fehler bei Ablauf eines Programm unter Steuerung eines Debuggers wegen des verlangsamten zeitlichen Ablaufs des Programms häufig nicht mehr auf. Außerdem erfordert die Fehlersuche mit einem Debugger, daß das fehlerhafte Programm beendet und anschließend zusammen mit einem Debugger gestartet wird, was zu einer Unterbrechung des Programms führt. Somit ist diese Methode für das Auffinden von Fehlern in Betriebssystemprogrammen ungeeignet, da die Betriebssystemprogramme wegen der meist damit verbundenen Unterbrechung des Betriebs der Einrichtung üblicherweise nicht beendet und erneut gestartet werden sollen. Dies ist insbesondere bei Einrichtungen zur Vermittlung von Telephongesprächen nicht erwünscht .
Deshalb besteht die Notwendigkeit, den Ablauf eines Programms während des bestimmungsgemäßen Ablauf zu verfolgen - dies wird in der Fachwelt auch als 'Trace' (dt. = Spur, einer Spur folgen) bezeichnet. Üblicherweise werden hierzu in die Proze¬ duren der Programme spezielle Maschinenbefehle eingefügt, die gezielt bestimmte Daten, üblicherweise die Aufruf- und die Ergebnisparameter der Prozeduren, z.B. in einen bestimmten Speicherbereich im Arbeitsspeicher oder eine Datei auf dem Hintergrundspeicher protokollieren. Dies hat jedoch den Nachteil, daß weitere Daten, die gegebenenfalls für das Auffinden eines Fehlers zusätzlich erforderlich sind, nicht protokolliert werden, wenn die Protokollierung dieser Daten nicht in den speziellen Maschinenbefehlen vorgesehen ist. Zudem wird der Ablauf des Programms auch dann durch die Protokollierung verlangsamt, wenn keine Protokollierung erforderlich wäre. Dies ist besonders nachteilig bei Betriebssystemprozeduren, da durch eine Verlangsamung des Betriebssystems alle von dem Betriebssystem verwalteten Benutzerprogramme verlangsamt werden, auch diejenigen, die fehlerfrei zum Ablauf kommen.
Der vorhergehend beschriebene technische Hintergrund ist in Engesser, Hermann [Hrsg.]; Claus, Volker [Bearb.]; Duden "In- formatik"; 2. Auflage; Mannheim; Leipzig; Wien; Zürich: Dudenverlag; 1993; ISBN 3-411-05232-5; offenbart. Siehe insbesondere Seite 8f (Ablaufprotokoll, Trace) , Seite 83ff (Betriebsart) , Seite 86 (Betriebsmittel), Seite 86ff (Betriebssystem) , Seite 188 (Debugger) , Seite 457ff (Nebenläufigkeit) , Seite 557ff (Prozedur), Seite 559ff (Prozesse), Seite 720ff (Testen) und Seite 756f (Unterbrechung) .
Der Erfindung liegt somit die Aufgabe zugrunde, ein Verfahren der eingangs genannten Art derart weiterzubilden, daß das Tracen von Daten verbessert wird. Die Aufgabe wird durch die Merkmale des Patentanspruchs 1 gelöst.
Die Erfindung ist im wesentlichen darin zu sehen, daß von einer ersten Prozedur - im folgenden auch Trace-Prozedur ge- nannt - einer im Speicher einer Einrichtung gespeicherten Datenstruktur eine erste Information - im folgenden auch Tracesteuerdaten genannt - entnommen wird, mit Hilfe der Trace- steuerdaten zumindest ein Speicherbereich ermittelt wird, und zumindest die in dem Speicherbereich gespeicherten Daten getraced werden. Der wesentliche Vorteil des erfindungsgemäßen Verfahrens ergibt sich daraus, daß infolge der Trennung der Tracesteuerdaten von der Trace-Prozedur sehr flexibel und ohne eine erneute Übersetzung der Trace-Prozedur festgelegt werden kann, welche Daten von der Trace-Prozedur getraced werden sollen. Insbesondere können während des Tracens zusätzlich weitere Daten durch Erweiterung der Tracesteuerdaten protokolliert werden, wenn z.B. bei der Fehlersuche erkannt wird, daß ein Tracen der weiteren Daten für die Diagnose des Fehlers erforderlich ist. Außerdem kann so auch das Tracen ohne Unterbrechung des Betriebs unterbunden werden, indem durch die Tracesteuerdaten keine zu tracenden Speicherberei- ehe festgelegt werden. Dies ist besonders vorteilhaft bei Be¬ triebssystemprozeduren, da hier alle Benutzerprogramme schneller zum Ablauf kommen, wenn das Tracen unterlassen wird. Weiterhin kann durch eine schrittweise Reduktion des Umfangs der zu tracenden Daten oder durch ein selektives Tra- cen von sehr wenigen Daten bei sporadisch auftretenden Fehlern gegebenenfalls erreicht werden, daß diese Fehler weiterhin auftreten, sofern durch das gezielte Tracen der zeitliche Ablauf der Betriebssystemprozeduren nur minimal verzögert wird.
Gemäß einer Ausgestaltung des erfindungsgemäßen Verfahrens wird der Speicherbereich durch eine in der ersten Information enthaltene Angabe der Speicheradresse der ersten Speicherzelle und der Anzahl der Speicherzellen definiert - Anspruch 2. Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens wird die Anzahl der Speicherzellen durch Angabe des Typs der in dem Speicherbereich gespeicherten Daten definiert - Anspurch 3. Somit können bei der Fehlersuche auf besonders einfache Weise die Aufruf- und Ergebnisparameter an- gegeben werden, da üblicherweise sowohl die Speicheradresse dieser Parameter als auch ihr Datentyp bekannt sind. Gemäß einer Variante des erfindungsgemäßen Verfahrens wird der Speicherbereich durch eine in der ersten Information ent¬ haltene Angabe der Speicheradressen der ersten Speicherzelle und der letzten Speicherzelle definiert - Anspruch 4. Hiermit können vorteilhaft beliebige Speicherbereiche angegeben werden. Dies ist z.B. dann von besonderem Vorteil, wenn in dem Speicherbereich Daten mit unterschiedlichen Datentypen gespeichert sind und folglich eine Längenangabe per Datentyp nicht möglich ist.
Gemäß einer Weiterbildung des erfindungsgemäßen Verfahrens ist vorgesehen, daß von einem die Einrichtung betreibenden und zumindest die Trace-Prozedur und eine zweite Prozedur - im weiteren auch SVC-Prozedur genannt - enthaltenden Be- triebssystem beim Aufruf der SVC-Prozedur anstatt der SVC- Prozedur die Trace-Prozedur aufgerufen wird - Anspruch 5. Somit kommt vorteilhaft die Trace-Prozedur zum Ablauf, obwohl von dem Aufrufer die SVC-Prozedur aufgerufen wurde. Somit ist keine Veränderung des aufrufenden Programms erforderlich, wo- durch vorteilhaft die dazu üblicherweise erforderliche erneute Übersetzung des aufrufenden Programm entfällt. Dies ist besonders vorteilhaft, wenn das aufrufenden Programm z.B. wegen nicht vorhandener Programmquelldateien nicht übersetzt werden kann.
Gemäß einer Ausgestaltung des erfindungsgemäßen Verfahrens wird die SVC-Prozedur von der Trace-Prozedur aufgerufen - Anspruch 6. Hierdurch wird vorteilhaft auch bei einer Verzweigung zu der Trace-Prozedur der von der SVC-Prozedur bewirkte Dienst erbracht.
Gemäß einer Weiterbildung des erfindungsgemäßen Verfahrens ist vorgesehen, daß zumindest die in dem Speicherbereich gespeicherten Daten in Abhängigkeit von einer in der Daten- Struktur enthaltenen, den Zeitpunkt des Tracens des Speicherbereichs definierenden zweiten Information - im weiteren ebenfalls Tracesteuerdaten genannt - vor und/oder nach dem Aufruf der SVC-Prozedur getraced werden - Anspruch 7. Somit kann der Umfang der zu tracenden Daten nach Bedarf geregelt werden. So sind z.B. die von dem eigentlich die SVC-Prozedur aufrufenden Programm übergebenen Aufrufparameter lediglich vor dem Aufruf und die von der SVC-Prozedur gebildeten Ergebnisparameter erst nach dem Aufruf der SVC-Prozedur von Interesse.
Gemäß einer Ausgestaltung des erfindungsgemäßen Verfahrens wird die Einrichtung von dem Betriebssystem derart gesteuert, daß lediglich von dem Betriebssystem auf die Datenstruktur zugegriffen werden kann - Anspruch 8. Somit können von der Anwendersoftware die Tracesteuerdaten weder versehentlich, z.B. infolge eines Programmfehlers in der Anwendersoftware, noch absichtlich, z.B. zur Modifikation des Betriebssystems durch einen Computervirus, verändert werden.
Gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens werden die Tracesteuerdaten von dem Betriebssystem in Abhängigkeit von einer Steuerinformation modifiziert - Anspruch 9. Dies ist vorteilhaft, da häufig erst während der Fehleranalyse offenkundig wird, welche Daten wann getraced werden sollen.
Gemäß einer Weiterbildung des erfindungsgemäßen Verfahrens wird von dem Betriebssystem in Abhängigkeit von einer weiteren Steuerinformation eingestellt, daß beim Aufruf der SVC- Prozedur anstatt der SVC-Prozedur die Trace-Prozedur aufgerufen wird - Anspruch 10. Somit kann wahlweise eingestellt wer- den kann, ob die SVC-Prozedur getraced werden soll oder nicht. Sofern das Tracen deaktiviert ist, erhöht sich wegen des nicht stattfindenden Tracens die Verarbeitungsgeschwindigkeit des Betriebssystems.
Gemäß einer Ausgestaltung des erfindungsgemäßen Verfahrens erfolgen die von dem Betriebssystem bewirkten Modifikationen während des Betriebs der Einrichtung- Anspruch 11. Somit kann zu jedem Zeitpunkt des Betriebs der Einrichtung bei der Feh¬ lersuche flexibel je nach Bedarf eingestellt werden, welche Daten von welcher Prozedur des Betriebssystems getraced werden.
Das erfindungsgemäße Verfahren wird im folgenden anhand von zwei Figuren näher erläutert. Dabei zeigt
- Figur 1 in einem Blockschaltbild eine zeitgemäße Einrich- tung, in der das erfinungsgemäße Verfahren zum Ab¬ lauf kommt
- Figur 2 in einem Ablaufdiagram den Ablauf eines erfin- dungsgemäßen Trace-Verfahrens
In Figur 1 ist beispielhaft eine informationsverarbeitende Einrichtung E dargestellt, die zumindest prozeßverarbeitende Vorrichtungen sowie Speichermittel enthält. Die prozeßverarbeitenden Vorrichtungen sind als Prozessor CPU, die Speicher- mittel als RAM-Speicher MEM ausgebildet. Der Prozessor CPU und der Speicher MEM sind miteinander verbunden. In dem Speicher MEM sind in Speicherbereichen SB, die aus einer oder mehreren benachbarten Speicherzellen SZ gebildet sind, Daten D gespeichert.
Der Betrieb der Einrichtung E wird von einem in dem Speicher MEM gespeicherten Betriebssystem BS geregelt. Das Betriebssystem BS umfaßt hierbei (1) mehrere Betriebssystemprozeduren BSP, (2) einen Interruptvektor IRV sowie (3) eine Datenstruktur DS .
Als Betriebssystemprozeduren BSP sind ein Interrupt-Handler IRH, eine Trace-Prozedur TRC sowie eine erste SVC-Prozedur SVC (1) und eine zweite SVC-Prozedur SVC (2) vorgesehen. Der Interruptvektor IRV ist zur betriebssysteminternen Verwaltung der Betriebssystemprozeduren BSP vorgesehen und enthält einen ersten Prozedurverweis IR1 auf die Betriebssystemprozedur SVC (1) und einen zweiten Prozedurverweis IR2 auf die Trace-Pro¬ zedur TRC. In der Datenstruktur DS sind und ein Tracesteuer- datenvektor TSDV und Tracesteuerdaten TSD gespeichert. Hier- bei ist der Tracesteuerdatenvektor TSDV ist zur betriebssysteminternen Verwaltung der Tracesteuerdaten TSD vorgesehen. Durch die Speicherung in der Datenstruktur DS werden die Tracesteuerdaten TSD vorteilhaft von der Trace-Prozedur TRC getrennt. Zur Verbindung der Tracesteuerdaten TSD mit der Traceprozedur TRC wird von der Trace-Prozedur TRC auf den die Tracesteuerdaten TSD verwaltenden Tracesteuerdatenvektor TSDV verwiesen. Der Tracesteuerdatenvektor TSDV enthält einen ersten Tracesteuerdatenverweis TSDP (IR1) und einen zweiten Tracesteuerdatenverweis TSDP (IR2). Der erste Tracesteuerda- tenverweis TSDP (IR1) verweist auf erste Tracesteuerdaten TSD (1) , von denen wiederum auf zweite Tracesteuerdaten TSD (2) verwiesen wird. Der zweite Tracesteuerdatenverweis TSDP (IR2) verweist auf dritte Tracesteuerdaten TSD (3) . Die Tracesteuerdaten TSD sind in den Speicherbereichen SB (TSD) gespeichert. Sie enthalten beispielsweise je eine erste Information INF1 und je eine zweite Information INF2 sowie gegebenenfalls einen Verweis auf weitere Tracesteuerdaten TSD. In der über die von dem Tracesteuerdatenverweis TSDV (IR1) ausgehenden Folge von Verweisen wird auf diejenigen Trace- steuerdaten TSD verwiesen, die festlegen, welche Daten D beim Tracen der Betriebssystemprozedur SVC (1) zu tracen sind. Auf analoge Weise wird in der über die von dem Tracesteuerdatenverweis TSDV (IR2) ausgehenden Folge von Verweisen auf diejenigen Tracesteuerdaten TSD verwiesen, die festlegen, welche Daten D beim Tracen der Betriebssystemprozedur SVC (2) zu tracen sind.
Die Prozeßverarbeitung wird von den in dem Speicher MEM gespeicherten Betriebssystemprozeduren BSP und/oder Benutzer- Programmen BP gesteuert. Als Benutzerprogramme BP sind ein erstes Benutzerprogramm BP (1) und ein zweites Benutzerprogramm BP (2) angedeutet. Der Betriebsmodus BM des Prozessors CPU ist hierbei während der Ausführung der Benutzerprozeduren BP auf einen nicht privilegierten Betriebsmodus NPM und wäh¬ rend der Ausführung der Betriebssystemprozeduren BSP auf einen privilegierten Betriebsmodus PM eingestellt. Dadurch ist ein Zugriff der Benutzerprogramme BP auf die Datenstruktur DS ausgeschlossen, da die Datenstruktur DS dem Betriebssystem BS zugeordnet ist und somit nur im privilegierten Betriebsmodus PM zugegriffen werden kann. Weiterhin sind in dem Speicher MEM Aufrufparameter AP und Ergebnisparameter EP gespeichert, auf die das Betriebssystem BS und das Benutzerprogramm BP (1) zugreifen können.
In Figur 2 ist beispielhaft ein Aufruf der Trace-Prozedur TRC mit den dabei erfolgenden Zugriffen auf Daten D im Speicher MEM dargestellt. Hierbei sind vier AblaufSequenzen vorgesehen, die den Ablauf der Benutzerprogramme BP sowie von drei Betriebssystemprozeduren BSP - dem Interrupt-Handler IRH, der Trace-Prozedur TRC und der SVC-Prozedur SVC - repräsentieren. Die Betriebssystemprozeduren BSP stellen hierbei Teile des Betriebssystem BS dar und werden von dem Prozessor CPU im privilegierten Betriebsmodus PM bearbeitet, während die Benutzerprogramme BP im nicht privilegierten Betriebsmodus NPM zum Ablauf kommen. Die Daten D, auf die von den Programmen zugegriffen wird und die im Speicher MEM gespeichert sind, sind durch drei gestrichelte Linien dargestellt, die die Datenstruktur DS, den Interrupt-Vektor IRV und Speicherbereiche SB repräsentieren. Durch die gestrichelte Darstellung wird angedeutet, daß die Daten lediglich von den Programmen genutzt werden, jedoch selbst keine den Ablauf des erfindungs- gemäßen Verfahren bewirkenden Programmteile enthalten.
Für das Ausführungsbeispiel wird angenommen, daß von dem Benutzerprogramm BP (1) die SVC-Prozedur SVC (2) aufgerufen wird. Hierbei werden dem Betriebssystem BS Aufrufparameter AP übergeben, indem die Aufrufparameter in dem Speicherbereich SB (AP) gespeichert werden. Der Aufruf erfolgt durch den Maschinenbefehl Interrupt-Request IRQ (SVC (2)), durch den an- gezeigt wird, daß die SVC-Prozedur SVC (2) zum Ablauf kommen soll. Als Folge des Interrupt-Requests IRQ (SVC (2)) wird von dem Prozessor CPU der Ablauf des Benutzerprogramms BP (1) un¬ terbrochen und stattdessen der Interrupt-Handler IRH bearbei- tet. Der Betriebsmodus des Prozessors wird hierbei von einem nicht privilegierten Betriebsmodus NPM zu einem privilegierten Betriebsmodus PM umgeschaltet. Von dem Interrupt-Handler IRH wird auf den Interrupt-Vektor IRV zugegriffen, der an einer fest vorgegebenen Stelle des Betriebssystems BS gespei- chert ist. Das Betriebssystem BS sei hierbei mit Hilfe von Steuerinformationen SI (IRV) derart konfiguriert, daß jeder Aufruf der SVC-Prozedur SVC (2) getraced wird. Dazu wird im Interruptvektor IRV von dem Prozedurverweis IR2 nicht auf die SVC-Prozedur SVC (2), sondern auf die Trace-Prozedur TRC ver- wiesen. Von dem Interrupt-Handler IRH wird deshalb nach Auswertung des Interruptverweises IR2, die mit Hilfe von Auswertebefehlen EVAL (IRV) erfolgt, mit Hilfe von Aufrufbefehlen CALL (TRC) anstatt der ursprünglich aufgerufenen SVC-Prozedur SVC (2) die Trace-Prozedur TRC aufgerufen.
Von der Trace-Prozedur TRC wird nach ihrem Aufruf auf die Datenstruktur DS zugegriffen und die Tracesteuerdaten TSD (3) entnommen. Der Zugriff auf die Datenstruktur DS erfolgt mit Auswertebefehlen EVAL (DS) . Hierbei werden den Tracesteuer- daten TSD (3) die Informationen INF1 (3) und INF2 (3) entnommen. Die Tracesteuerdaten TSD (3) seien hierbei mit Hilfe von Steuerinformationen SI (DS) derart konfiguriert, daß durch die enthaltene erste Information INF1 (3) der Speicherbereich SB (AP) , in dem die Aufrufparameter AP gespeichert sind, ge- kennzeichnet wird und durch die zweite Information INF2 (3) festgelegt wird, daß das Tracen des Speicherbereich SB (AP) vor dem Aufruf der SVC-Prozedur SVC (2) erfolgen soll. Von der Trace-Prozedur TRC werden hierauf die in dem Speicherbereich SB (AP) gespeicherten Aufrufparameter AP mit Hilfe der Tracebefehlen TRACE (1) getraced. Anschließend wird von der Trace-Prozedur TRC die SVC-Prozedur SVC (2) mit Hilfe von Aufrufbefehlen CALL (SVC (2)) aufgerufen. Im Zuge der Bear- beitung der SVC-Prozedur SVC (2) werden in dem Speicherbe¬ reich SB (EP) die Ergebnisparameter EP gespeichert. Nach dem Ende der Bearbeitung der SVC-Prozedur SVC (2) wird mit der Bearbeitung der Trace-Prozedur TRC fortgefahren. Da in der Datenstruktur DS keine weiteren relevanten Tracesteuerdaten TSD gespeichert sind, erfolgt keine weiteres Tracen von Daten. Somit ist die Bearbeitung innerhalb des Betriebssystems BS abgeschlossen und es wird mit der Bearbeitung des Benutzerprogramm BP (1) fortgefahren. Üblicherweise wird hierbei der Betriebsmodus des Prozessors CPU wieder vom privilegierten Betriebsmodus PM zurück zum nicht privilegierten Betriebsmodus PM umgeschaltet.
Sofern während dieses Tracens der SVC-Prozedur während des Betriebs der Einrichtung E erkannt wird, daß die Ergebnisparameter EP ebenfalls getraced werden sollten, wird die Datenstruktur DS durch die Eingabe von Steuerinformationen SI (DS) um weitere Tracesteuerdaten TSD (4) erweitert, die eine erste Information INF1 (4) und eine zweite Information INF2 (4) enthalten. Hierbei wird durch die erste Information INF1 (4) der Speicherbereich SB (EP) , in dem die Ergebnisparameter EP gespeichert sind, gekennzeichnet und durch die zweite Information INF2 (4) festgelegt, daß das Tracen des Speicherbereich SB (AP) nach dem Aufruf der SVC-Prozedur SVC (2) erfol- gen soll. Wenn die Ergebnisparameter beispielsweise durch ein Wert vom Datentyp INTEGER repräsentiert sind, erfolgt die Festlegung des Speicherbereich SP (EP) durch die Angabe der Speicheradresse der ersten Speicherzelle SZ des Speicherbereichs SP (EP) und die Angabe des Datentyps INTEGER. Alterna- tiv kann die Festlegung durch die Angabe der ersten und der letzten Speicherzelle eines Speicherbereichs SB erfolgen. Beispielsweise könnte zum Testen der Trace-Prozedur ein Tracen der Tracesteuerdaten TSD erforderlich sein. Hierzu wird der gesamte Speicherbereich SB (DS) getraced, im dem die Tracesteuerdaten TSD üblicherweise gespeichert werden. Die
Festlegung des Speicherbereichs SB (DS) erfolgt durch die Angabe der ersten und der letzten Speicherzelle SZ der für den Speicherbereichs SB (DS) vorgesehenen Speicherzellen SZ. In¬ folge dieser Modifikation werden bei jedem weiteren Aufruf der SVC-Prozedur SVC (2) von der Trace-Prozedur TRC die Ergebnisparameter EP mit Hilfe der Tracebefehlen TRACE (2) ge- traced, bevor mit der Bearbeitung des aufrufenden Benutzerprogramms BP fortgefahren wird.
Abschließend sei angemerkt, daß die Modifikation der Datenstruktur DS während des Betriebs der Einrichtung E und ohne Unterbrechung des Betriebssystemprogramme BSP oder der Benutzerprogramme BP erfolgt und sofort wirksam ist.

Claims

Patentansprüche
1. Verfahren zum Tracen von Daten (D) in einer Einrichtung (E) mit
- zumindest einem, aus Speicherzellen (SZ) bestehenden Spei¬ chermittel (MEM) ,
- einer ersten Information (INFl) , durch die zumindest ein Speicherbereich (SB) , der aus einer oder mehreren benach- barten Speicherzellen (SZ) besteht, definiert wird, und
- zumindest einer in dem Speichermittel (MEM) gespeicherten Datenstruktur (DS) , die zumindest die erste Information
(INFl) enthält, demgemäß von einer ersten Prozedur (TRC) (1) der Datenstruktur (DS) die erste Information (INFl) ent¬ nommen wird,
(2) mit Hilfe der ersten Information (INFl) der Speicherbereich (SB) ermittelt wird, und
(3) die in dem Speicherbereich (SB) gespeicherten Daten (D) getraced werden.
2 . Verfahren nach Anspruch 1 , d a d u r c h g e k e n n z e i c h n e t , daß der Speicherbereich (SB) durch eine in der ersten Infor- mation (INFl) enthaltene Angabe der Speicheradresse der ersten Speicherzelle (SZ) und der Anzahl der Speicherzellen (SZ) definiert wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die Anzahl der Speicherzellen (SZ) durch Angabe des Typs der in dem Speicherbereich gespeicherten Daten (D) definiert wird.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Speicherbereich (SB) durch eine in der ersten Infor- mation (INFl) enthaltene Angabe der Speicheradressen der ersten Speicherzelle (SZ) und der letzten Speicherzelle (SZ) definiert wird.
5. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, daß von einem die Einrichtung (E) betreibenden und zumindest die erste Prozedur (TRC) und eine zweite Prozedur (SVC) enthaltenden Betriebssystem (BS) beim Aufruf der zweiten Proze- dur (SVC) anstatt der zweiten Prozedur (SVC) die erste Prozedur (TRC) aufgerufen wird.
6 . Verfahren nach Anspruch 5, d a d u r c h g e k e n n z e i c h n e t , daß die zweite Prozedur (SVC) von der ersten Prozedur (TRC) aufgerufen wird.
7. Verfahren nach einem der Ansprüche 5 oder 6, dadurch gekennzeichnet, daß zumindest die in dem Speicherbereich (SB) gespeicherten Daten (D) in Abhängigkeit von einer in der Datenstruktur (DS) enthaltenen, den Zeitpunkt des Tracens des Speicherbereichs (SB) definierenden zweiten Information (INF2) vor und/oder nach dem Aufruf der zweiten Prozedur (SVC) getraced werden.
8. Verfahren nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß die Einrichtung (E) von dem Betriebssystem (BS) derart gesteuert wird, daß lediglich von dem Betriebssystem (BS) auf die Datenstruktur (DS) zugegriffen werden kann.
9. Verfahren nach einem der Ansprüche 7 oder 8, dadurch gekennzeichnet, daß die erste Information (INFl) und/oder die zweite Informa- tion (INF2) von dem Betriebssystem (BS) in Abhängigkeit von einer Steuerinformation (SI (DS) ) modifiziert wird.
10. Verfahren nach einem der Ansprüche 5 bis 9, dadurch gekennzeichnet, daß von dem Betriebssystem (BS) in Abhängigkeit von einer weiteren Steuerinformation (SI (IRV) ) eingestellt wird, daß beim Aufruf der zweiten Prozedur (SVC) anstatt der zweiten Prozedur (SVC) die erste Prozedur (TRC) aufgerufen wird.
11. Verfahren nach einem der Ansprüche 9 oder 10, dadurch gekennzeichnet, daß die von dem Betriebssystem (BS) bewirkten Modifikationen während des Betriebs der Einrichtung (E) erfolgen.
PCT/DE2000/000018 1999-01-19 2000-01-03 Verfahren zum tracen von daten WO2000043885A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/889,644 US6785883B1 (en) 1999-01-19 2000-01-03 Software system for tracing data
DE10080128T DE10080128D2 (de) 1999-01-19 2000-01-03 Verfahren zum Tracen von Daten

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19901879.0 1999-01-19
DE19901879A DE19901879A1 (de) 1999-01-19 1999-01-19 Verfahren zum Tracen von Daten

Publications (1)

Publication Number Publication Date
WO2000043885A1 true WO2000043885A1 (de) 2000-07-27

Family

ID=7894692

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2000/000018 WO2000043885A1 (de) 1999-01-19 2000-01-03 Verfahren zum tracen von daten

Country Status (5)

Country Link
US (1) US6785883B1 (de)
CN (1) CN1337024A (de)
DE (2) DE19901879A1 (de)
ID (1) ID29138A (de)
WO (1) WO2000043885A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009056758A1 (de) * 2009-01-28 2010-07-29 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Beeinflussung eines Steuergerätes und Manipulationseinheit
US8166344B2 (en) 2009-01-28 2012-04-24 Dspace Digital Signal Processing And Control Engineering Gmbh Method for controlling an operating mechanism and a manipulation unit
US8171341B2 (en) 2009-01-28 2012-05-01 Dspace Digital Signal Processing And Control Engineering Gmbh Method for controlling an operating mechanism and a manipulation unit

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883162B2 (en) * 2001-06-06 2005-04-19 Sun Microsystems, Inc. Annotations for transaction tracing
US7996659B2 (en) * 2005-06-06 2011-08-09 Atmel Corporation Microprocessor instruction that allows system routine calls and returns from all contexts
US9098625B2 (en) * 2008-02-29 2015-08-04 International Business Machines Corporation Viral trace
US8874967B2 (en) * 2012-03-30 2014-10-28 Ncr Corporation Managing code-tracing data
US9021262B2 (en) * 2013-01-25 2015-04-28 Concurix Corporation Obfuscating trace data
CN105556402A (zh) * 2013-12-09 2016-05-04 帝斯贝思数字信号处理和控制工程有限公司 用于影响控制设备的控制程序的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0444315A2 (de) * 1990-02-26 1991-09-04 Digital Equipment Corporation System und Verfahren zur Sammlung von Softwareanwendungsereignissen
EP0801348A1 (de) * 1996-04-10 1997-10-15 Hewlett-Packard Company Verfahren zur Überwachung des Betriebes eines Rechners
EP0822499A1 (de) * 1996-08-02 1998-02-04 Hewlett-Packard Company Systemanalysewerkzeug für sequentielle Prozessereignisse

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4701845A (en) * 1984-10-25 1987-10-20 Unisys Corporation User interface processor for computer network with maintenance and programmable interrupt capability
US5781753A (en) * 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
JP3242508B2 (ja) * 1993-11-05 2001-12-25 松下電器産業株式会社 マイクロコンピュータ
US6112298A (en) * 1996-12-20 2000-08-29 Texas Instruments Incorporated Method for managing an instruction execution pipeline during debugging of a data processing system
US6009270A (en) * 1997-04-08 1999-12-28 Advanced Micro Devices, Inc. Trace synchronization in a processor
US6282701B1 (en) * 1997-07-31 2001-08-28 Mutek Solutions, Ltd. System and method for monitoring and analyzing the execution of computer programs
US6016555A (en) * 1997-11-19 2000-01-18 Texas Instruments Incorporated Non-intrusive software breakpoints in a processor instruction execution pipeline
US6145123A (en) * 1998-07-01 2000-11-07 Advanced Micro Devices, Inc. Trace on/off with breakpoint register
US6289503B1 (en) * 1998-09-24 2001-09-11 International Business Machines Corporation System and method for trace verification
US6230313B1 (en) * 1998-12-23 2001-05-08 Cray Inc. Parallelism performance analysis based on execution trace information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0444315A2 (de) * 1990-02-26 1991-09-04 Digital Equipment Corporation System und Verfahren zur Sammlung von Softwareanwendungsereignissen
EP0801348A1 (de) * 1996-04-10 1997-10-15 Hewlett-Packard Company Verfahren zur Überwachung des Betriebes eines Rechners
EP0822499A1 (de) * 1996-08-02 1998-02-04 Hewlett-Packard Company Systemanalysewerkzeug für sequentielle Prozessereignisse

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009056758A1 (de) * 2009-01-28 2010-07-29 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Beeinflussung eines Steuergerätes und Manipulationseinheit
US8074118B2 (en) 2009-01-28 2011-12-06 Dspace Digital Signal Processing And Control Engineering Gmbh Method for influencing a control unit and manipulation unit
US8166344B2 (en) 2009-01-28 2012-04-24 Dspace Digital Signal Processing And Control Engineering Gmbh Method for controlling an operating mechanism and a manipulation unit
US8171341B2 (en) 2009-01-28 2012-05-01 Dspace Digital Signal Processing And Control Engineering Gmbh Method for controlling an operating mechanism and a manipulation unit
DE102009056758B4 (de) * 2009-01-28 2017-07-27 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Beeinflussung eines Steuergerätes und Manipulationseinheit

Also Published As

Publication number Publication date
DE19901879A1 (de) 2000-07-27
US6785883B1 (en) 2004-08-31
DE10080128D2 (de) 2001-09-27
CN1337024A (zh) 2002-02-20
ID29138A (id) 2001-08-02

Similar Documents

Publication Publication Date Title
EP0645704B1 (de) Tracer-System zur Fehleranalyse in laufenden Realzeitsystemen
DE2953432C1 (de) Vorrichtung zum Testen eines Mikroprogramms
DE2722099C2 (de)
DE2328058C2 (de) Fehlerdiagnoseeinrichtung in einer digitalen Datenverarbeitungsanordnung
DE4011745C2 (de)
DE69908682T2 (de) Prozessor mit Echtzeit-Ablaufsteuerung zur Fehlerbeseitigung ohne Fehlerbeseitigungsmonitor
DE10050684A1 (de) Verfahren und System zur periodischen Ablaufverfolgung für die Echtzeitgenerierung von Segmenten von Aufrufstack-Bäumen
DE2714805A1 (de) Datenverarbeitungssystem
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE112006002908T5 (de) Technik für die Kommunikation und Synchronisation von Threads
DE69815006T2 (de) Datenverarbeitungseinheit mit Fehlerbeseitungsmöglichkeiten
DE3228405A1 (de) Emulator zur erzeugung einer folge von steuersignalen
DE202016008043U1 (de) Vorrichtung zum Erzeugen, Erfassen, Speichern und Laden von Debugging-Informationen für gescheiterte Test-Skripts
WO2000043885A1 (de) Verfahren zum tracen von daten
EP0048991B1 (de) Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung
EP0799441B1 (de) Verfahren zur steuerung von technischen vorgängen
DE60002455T2 (de) Verfahren und vorrichtung zur automatischen softwareprüfung
WO1995009396A1 (de) Tracer-system zur fehleranalyse in laufenden realzeitsystemen
DE60010847T2 (de) Verfahren zur Fehlerbeseitigung in einem Thread-Programm
DE3323824A1 (de) Speicherprogrammierbare steuerung
EP0433350A1 (de) Betriebsprogramm für eine datenverarbeitungsanlage
DE102007015507B4 (de) Prozessor mit einem ersten und einem zweiten Betriebsmodus und Verfahren zu seinem Betrieb
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE10132313A1 (de) Programmgesteuerte Einheit
DE102008048862A1 (de) Testmodul und Verfahren zum Testen einer O/R-Abbildungs-Middleware

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 00802914.8

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN DE ID US

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 09889644

Country of ref document: US

REF Corresponds to

Ref document number: 10080128

Country of ref document: DE

Date of ref document: 20010927

WWE Wipo information: entry into national phase

Ref document number: 10080128

Country of ref document: DE