WO1995009396A1 - Tracer-system zur fehleranalyse in laufenden realzeitsystemen - Google Patents

Tracer-system zur fehleranalyse in laufenden realzeitsystemen Download PDF

Info

Publication number
WO1995009396A1
WO1995009396A1 PCT/DE1994/001093 DE9401093W WO9509396A1 WO 1995009396 A1 WO1995009396 A1 WO 1995009396A1 DE 9401093 W DE9401093 W DE 9401093W WO 9509396 A1 WO9509396 A1 WO 9509396A1
Authority
WO
WIPO (PCT)
Prior art keywords
trace
tracer
tracer system
program
execution
Prior art date
Application number
PCT/DE1994/001093
Other languages
English (en)
French (fr)
Inventor
Ulrich Kleber
Gerhard Goller
Jörg NEUHOFF
Hans-Jörg Keller
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 CA002172737A priority Critical patent/CA2172737C/en
Priority to DE59402939T priority patent/DE59402939D1/de
Priority to US08/619,532 priority patent/US5737521A/en
Priority to JP7510048A priority patent/JPH09503084A/ja
Priority to EP94926801A priority patent/EP0721620B1/de
Publication of WO1995009396A1 publication Critical patent/WO1995009396A1/de
Priority to GR970401953T priority patent/GR3024304T3/el

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

  • the invention is based on the object of specifying a tracer system which can carry out a fault analysis during the operation of a real-time system without significantly restricting the useful operation of the real-time system.
  • a further embodiment of the invention is specified by claim 2. This configuration dynamically optimizes leaving a trace point.
  • a further embodiment of the invention is specified by claim 3. This configuration ensures that the administrative data required for a trace point can be found quickly.
  • a further embodiment of the invention is specified by claim 4.
  • This configuration of the invention prevents the tracer system from impermissibly impairing the useful operation of the real-time system.
  • FIG. 1 shows the sequence of the trace
  • Figure 2 shows the function of the activating agent of the tracer system according to the invention.
  • FIG. 3 shows the function of the monitoring means of the tracer system according to the invention.
  • FIG. 4 shows the function of the execution means for controlling the execution of the trace process.
  • the basic principle of the tracer system ⁇ according to the invention. It is stems that on the one hand, similar to a conventional introduces a national debugger, redirection commands (probes) into the program memory (ie overwrites the original program at specific points with the help of a special machine command), or describes special hardware registers for specifying the memory areas to be monitored, but secondly the real-time system when these breakpoints are reached does not stop to output data or to wait for further commands. Instead, the operator has to activate the
  • the trace process decides which data interests him at the breakpoints. This data is then copied to a special data memory (trace buffer) during the trace process and can be read out later. Since the tracer system according to the invention does not stop at breakpoints, these breakpoints are called trace points in the following.
  • the tracer system according to the invention is present as a software system in the real-time system and can be activated by administrative commands.
  • FIG. 1 shows the sequence of the trace method according to the invention using the individual software means of the tracer system according to the invention.
  • an input means receives definitions for the individual trace points from the operator of the tracer system. Either addresses in the program memory (replacing the original instructions with probes) or memory areas to be monitored by the tracer system are written as trace points by writing to their hardware registers. Furthermore, c is determined at which data when a jewei_ is reached. gene
  • Trace point should be copied.
  • special functions are defined, which when a Trace point should be executed each time. In the special functions mentioned, it can be, for. B. are additional conditions which must be met when a trace point is reached (eg stop conditions or events for other tools, such as the operating system tracer, which also logs operating system calls or others Special tracer, such as the call tracer, which also logs the message flow within the switching software).
  • the definitions defined by the operator in the first method step are finally combined with a name and temporarily stored under this name in a trace buffer in the data memory segment of the tracer system.
  • All entries made in the first process step can be symbolic, i. H. in a syntax that is similar to a source code.
  • a generation means In a second method step, a generation means (GEN) generates special program pieces based on the definitions in the first method step, which are stored in the program memory and are called up later at the associated trace points. These program pieces are referred to below as "trace routines". To generate these trace routines, the tracer system according to the invention contains a small compiler.
  • the trace routines are stored in the program memory so that they can be called as soon as a trace point is reached.
  • the trace routine then executes all trace functions itself or generates the events.
  • the tested program can then be continued with the aid of a code simulation, which is explained further below.
  • the actual trace process is activated by the operator with the aid of an activation means AKT.
  • FIG. 2 shows the mode of action of the activating agent AKT.
  • the activation means first saves the original command located at a trace point address ADP in the trace buffer of the tracer system and then inserts the probe for the trace point into the code, or activates special debug registers of the microprocessor.
  • the trace process can also be activated by timers or other events.
  • a trace process TV consists in executing the program to be tested up to a trace point, then executing the trace routine generated for this trace point and finally continuing the execution of the program to be tested.
  • the activation means also includes means for deactivating the trace process by the operator. A distinction must be made between the deactivation by the operator and the stop conditions or events for other tools (see branching block "STOP?" In FIG. 1).
  • a fourth method step after deactivating the trace process, the operator can separately request the data collected by the trace process from an output device (AUS). On the basis of such a request, the requested data are read from the trace buffer and symbolically output in accordance with the definition of the trace points.
  • AUS output device
  • the system is only minimally influenced dynamically during the trace process, since the trace routines are called is dynamically optimized and the tracer system according to the invention utilizes all possibilities of the microprocessor in order to continue the tested program as quickly as possible.
  • the symbolic input and output using the input and output means is realized by accessing the symbol tables created during compilation.
  • the activating means AKT When the probes for the trace points are introduced, the activating means AKT must change the machine code of the tested program by overwriting an original command with the aid of a trap or interrupt command with the corresponding probe of the respective trace point. If a trace point is reached while the program to be tested is running, the processor first branches to the tracer system. This then searches for the associated trace routine and executes it. Then, with the aid of a small program for code simulation, it is ensured that the program to be tested is continued immediately, namely with the overwritten original command.
  • a conventional tracer system - as every conventional debugger does - would first have to restore the original code changed by the trace point probe, execute the overwritten original command, and again to activate the tracer system. branch to insert the probe again and only then can the tested program continue behind the probe.
  • the code simulation according to the invention consists in that after the original command has been saved by the activation means using a continuation means according to the invention (contained in the activation means), a small program (additional code) is generated (see FIG. 2) which is used to simulate this original command serves that includes the return address to the tested program and that is started after the trace routine has ended (see FIG. 4).
  • a code simulation is particularly advantageous for processors that know only a few instructions that depend on their address in the working memory or the current value of the program counter (for example, the instruction "jump back 20 bytes"). This is e.g. B. the case with RISC processors.
  • RISC processors can save time by coding a trace point number into the TRAP command that is used for the trace point probe, which is used to search for the trace routine or administrative data of the tracer system required for the trace process.
  • the tracer system monitors itself by the monitoring means SFG determining how heavily the tracer system is stressing the current real-time system, i. H. how much computing time it occupies. If certain load threshold values are exceeded, the tracer system according to the invention switches itself off automatically with the aid of the monitoring means.
  • the monitoring means SFG is called at each trace point by an execution means ABL to control the sequence of the trace process and always counts two global counters. One counter counts how many trace points are hit, while the other counter counts the number of data collected. At certain time intervals, the two counters are checked against maximum values and reset. If the monitoring means determines on the basis of the two counters or on the basis of overload information about an interface to an overload protection system UEL of the real-time system that continuing the trace process would endanger the system operation, the monitoring means automatically deactivates the means of activation all trace points step by step without taking too much time in one piece for this deactivation.
  • the monitoring means SFG for dynamic self-control can be switched off by the operator if an error analysis under overload conditions is required. This switching off can be limited to certain overload levels.
  • FIG. 4 shows the mode of operation of the execution means ABL already mentioned for controlling the execution of the trace process.
  • the drain agent is applied at every trace point. called and then initiates various actions. First, it calls up the SFG monitoring tool. It then searches for the administrative data required for a trace point to control the further process. The trace routine is then called, which collects the data desired at a trace point and then stores it in a trace buffer ZSP. Finally, the execution means calls the program for code simulation, which after its completion jumps automatically to the next command of the program to be tested, which is behind the trace point.

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)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)

Abstract

Tracer-Systeme sollen das Realzeitverhalten eines zu untersuchenden Realzeitsystems möglichst nicht beeinträchtigen. Um dieses Ziel zu erreichen, besitzt das erfindungsgemässe Tracer-System ein Mittel (GEN) zum Generieren von Trace-Routinen, die während eines Trace-Vorgangs (TV) ermittelte Daten in Zwischenspeicher ablegen, wodurch ein unmittelbares Fortsetzen des Nutzbetriebs nach Ausführrung einer jeweiligen Trace-Routine ermöglicht wird.

Description

Tracer-System zur Fehleranalyse in laufenden Realzeit¬ systemen
Aus der Entwicklung von immer komplexer werdenden Realzeit- Systemen, z. B. Vermittlungssytemen, ist die Forderung nach entsprechenden Test- und Fehleranalysemöglichkeiten erwachsen. So gibt es bereits eine Vielzahl von Fehlerana¬ lysesystemen, die eine Fehlerlokalisierung in derart ko - plexen Systemen erleichtern und mit deren Hilfe umfangrei¬ che Fehleranalysevorgänge durchgeführt und aufgezeichnet werden können. Ein Beispiel für derartige Test- und Fehleranalysesysteme sind die sogenannten Tracer-Systeme.
Es ist bekannt, solche Tracer-Systeme über spezielle An¬ schlußeinheiten an die zu testenden Einheiten des Real¬ zeitsystems anzuschließen, wobei die in diesen Einheiten ablaufenden Vorgänge über diese speziellen Anschlußeinhei¬ ten zum Tracer-System geführt und dort mitprotokolliert und ausgewertet werden. Bei dem Anschluß dieser Tracer- Systeme müssen die zu untersuchenden Realzeitsysteme bzw. zumindest die jeweils zu untersuchenden Einheiten des Realzeitsystems abgeschaltet werden. Dies ist aber bei vielen Realzeitsystemen, insbesondere bei Vermittlungs- Systemen unter allen Umständen zu vermeiden, da insbe¬ sondere an Vermittlungssysteme extrem hohe Anforderungen bezüglich der Ausfallsicherheit gestellt werden.
Der Erfindung liegt die Aufgabe zugrunde, ein Tracer-System anzugeben, das eine Fehleranalyse während des laufenden Betriebs eines Realzeitsystems durchführen kann, ohne dabei den Nutzbetrieb des Realzeitsystems signifikant einzuschränken.
Diese Aufgabe wird durch die Merkmale des Anspruchs 1 gelöst. Durch die erfindungsgemäße Generierung von Trace-Routinen, die während des Trace-Vorgangs ermittelte Daten in Zwi¬ schenspeichern ablegen, kann der Nutzbetrieb sofort wei- tergeführt werden, ohne daß er durch den Trace-Vorgang an einem jeweiligen Trace-Punkt merklich unterbrochen wird.
Eine weitere Ausgestaltung der Erfindung ist durch Anspruch 2 angegeben. Durch diese Ausgestaltung wird das Verlassen eines Trace-Punktes dynamisch optimiert.
Eine weitere Ausgestaltung der Erfindung ist durch An¬ spruch 3 angegeben. Durch diese Ausgestaltung wird ein rasches Auffinden der bezüglich eines Trace-Punktes nöti¬ gen Verwaltungsdaten gewährleistet.
Eine weitere Ausgestaltung der Erfindung ist durch Anspruch 4 angegeben. Durch diese Ausgestaltung der Erfin- düng wird vermieden, daß das Tracer-System den Nutzbetrieb des Realzeitsystems in unzulässiger Weise beeinträchtigt.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert.
Figur 1 zeigt den Ablauf des erfindungsgemäßen Trace-
Verfahrens anhand der einzelnen Software-Mittel des er¬ findungsgemäßen Tracer-Systems.
Figur 2 zeigt die Funktion des Aktivierungsmittels des erfindungsgemäßen Tracer-Systems.
Figur 3 zeigt die Funktion des Überwachungsmittels des erfindungsgemäßen Tracer-Systems.
Figur 4 zeigt die Funktion des Ablaufmittels zur Steuerung des Ablauf des Trace-Vorgangs.
Das grundlegende Prinzip des erfindungsgemäßen Tracer-Syτ. stems ist es, daß es zum einen, ähnlich einem konven- tionellen Debugger, Umleitungsbefehle (Sonden) in den Programmspeicher einbringt (d. h. das Originalprogramm an gezielten Stellen mit Hilfe eines speziellen Maschinen- befehls überschreibt), oder besondere Hardware-Register zur Festlegung von zu überwachenden Speicherbereichen beschreibt, zum anderen jedoch beim Erreichen dieser Haltepunkte das Realzeitsystem nicht anhält, um Daten auszugeben, oder auf weitere Kommandos zu warten. Statt- dessen muß der Bediener bereits vor dem Aktivieren des
Trace-Vorgangs entscheiden, welche Daten ihn an den Halte¬ punkten interessieren. Diese Daten werden dann während des Trace-Vorgangs in einen speziellen Datenspeicher (Trace-Zwi- schenspeicher) kopiert und können später ausgelesen wer- den. Da bei dem erfindungsgemäßen Tracer-System an Halte¬ punkten nicht angehalten wird, werden diese Haltepunkte im folgenden Trace-Punkte genannt.
Im Gegensatz zu Tracer-Systemen, die durch Hardware re- alisiert sind, ist das erfindungsgemäße Tracer-System als Software-System im Realzeitsystem vorhanden und kann durch administrative Kommandos aktiviert werden.
Figur 1 zeigt den Ablauf des erfindungsgemäßen Trace-Ver- fahrens anhand der einzelnen Software-Mittel des erfindungs¬ gemäßem Tracer-Systems.
In einem ersten Verfahrensschritt empfängt ein Eingabemit¬ tel (EIN) vom Bediener des Tracer-Systems Definitionen für die einzelnen Trace-Punkte. Dabei werden als Trace-Punkte entweder Adressen im Programmspeicher (Ersetzen der Origi¬ nalbefehle durch Sonden) oder vom Tracer-System zu überwa¬ chende Speicherbereiche durch Beschreiben spε .?.Her Hard¬ ware-Register festgelegt. Des weiteren wird c bei festge- legt, welche Daten beim Erreichen eines jewei_ . gen
Trace-Punktes kopiert werden sollen. Weiterhin werden Sonderfunktionen festgelegt, die beim Erreichen eines Trace-Punktes jedesmal ausgeführt werden sollen. Bei den genannten Sonderfunktionen kann es sich z. B. um zusätz¬ liche Bedingungen handeln, die beim Erreichen eines Trace-Punktes erfüllt sein müsen (z. B. Stop-Bedingungen oder Events für andere Tools, wie z. B. den Betriebs¬ system-Tracer, der Betriebssystemanrufe mitprotokolliert oder andere Spezial-Tracer, wie z. B. den Call-Tracer, der den Nachrichtenfluß innerhalb der vermittlungstechnischen Software mitprotokolliert).
Die vom Bediener in dem ersten Verfahrensschritt festge¬ legten Definitionen werden schließlich abschließend mit einem Namen zusammengefaßt und unter diesem Namen in einem Trace-Zwischenspeicher im Datenspeichersegment des Tracer- Systems zwischengespeichert.
Alle im ersten Verfahrensschritt getätigten Eingaben köηnen symbolisch erfolgen, d. h. in einer Syntax, die einem Source-Code ähnlich ist.
In einem zweiten Verfahrensschritt werden durch ein Generierungsmittel (GEN) anhand der Definitionen im ersten Verfahrensschritt spezielle Programmstücke generiert, die im Programmspeicher abgelegt werden und an den zugehörigen Trace-Punkten später aufgerufen werden. Diese Programm¬ stücke werden im folgenden als "Trace-Routinen" bezeich¬ net. Zur Erzeugung dieser Trace-Routinen enthält das erfindungsgemäße Tracer-System einen kleinen Compiler.
Die Trace-Routinen werden nach ihrer Erzeugung durch den Compiler im Programmspeicher abgelegt, damit sie aufge¬ rufen werden können, sobald ein Trace-Punkt erreicht wird. Die Trace-Routine führt dann selbst alle Trace- Funktionen aus, bzw. generiert die Events. Danach kann das getestete Programm mit Hilfe einer Code-Simulation, die weiter unten erläutert wird, fortgesetzt werden. In einem dritten Verfahrensschritt wird der eigentliche Trace-Vorgang durch den Bediener mit Hilfe eines Akti¬ vierungsmittels AKT aktiviert. Figur 2 zeigt die Wir- kungsweise des Aktivierungsmittels AKT.
Zur Ausführung der Aktivierung speichert das Aktivierungs¬ mittel zunächst den an einer Trace-Punkt-Adresse ADP be¬ findlichen Original-Befehl in dem Trace-Zwischenspeicher des Tracer-Systems ab und bringt sodann die Sonde für den Trace-Punkt in den Code ein, bzw. aktiviert spezielle Debug-Register des Microprozessors. Der Trace-Vorgang kann auch durch Zeitgeber oder andere Events aktiviert werden. Ein Trace-Vorgang TV besteht darin, daß das zu testende Programm jeweils bis zu einem Trace-Punkt ausgeführt wird, an diesem sodann die für diesen Trace-Punkt erzeugte Trace-Routine ausgeführt wird und schließlich die Ausführung des zu testenden Programms fortgesetzt wird.
Das Aktivierungsmittel beinhaltet außer den Mitteln zum Aktivieren des Trace-Vorgangs auch Mittel zum Deaktivie¬ ren des Trace-Vorgangs durch den Bedienεr. Von der Deaktivierung durch den Bediener ist di- Deaktiv_ .rung durch Stopbedingungen oder Events für andere Tools (siehe Verzweigungsblock "STOP?" in Figur 1) zu unterscheiden.
In einem vierten Verfahrensschritt kann der Bediener nach der Deaktivierung des Trace-Vorgangs die durch den Trace- Vorgang gesammelten Daten von einem Ausgabemittel (AUS) getrennt anfordern. Aufgrund einer solchen Anforderung werden die angeforderten Daten aus dem Trace-Zwischenspei¬ cher gelesen und gemäß der Definition der Trace-Punkte symbolisch ausgegeben.
Während des Trace-Vorgangs wird das System nur minimal dynamisch beeinflußt, da der Aufruf der Trace-Routinen dynamisch optimiert wird und das erfindungsgemäße Tracer- System alle Möglichkeiten des Microprozessors ausnutzt, um das getestete Programm möglichst schnell wieder fortzusetzen.
Die symbolische Ein- und Ausgabe mit Hilfe der Eingabe- und Ausgabemittel ist durch Zugriff auf die beim Compilie- ren erstellten Symboltabellen realisiert.
Beim Einbringen der Sonden für die Trace-Punkte muß das Aktivierungsmittel AKT den Maschinencode des getesteten Programms verändern, indem es einen Originalbefehl mit Hilfe eines Trap- oder Interrupt-Befehls mit der ent¬ sprechenden Sonde des jeweiligen Trace-Punktes über- schreibt. Wird nun während des Ablaufs des zu testenden Programms ein Trace-Punkt erreicht, so verzweigt der Prozessor zunächst zum Tracer-System. Dieses sucht sodann die zugehörige Trace-Routine und führt sie aus. Danach wird mit Hilfe eines kleinen Programms zur Code-Simula- tion gewährleistet, daß das zu testende Programm sofort fortgesetzt wird, und zwar mit dem überschriebenen Origi¬ nalbefehl.
Zur Realisierung einer herkömmlichen Fortsetzung des ge- testeten Programms müßte ein herkömmliches Tracer-System - wie es jeder konventionelle Debugger tut - zunächst den durch die Trace-Punkt-Sonde veränderten Originalcode wiederherstellen, den überschriebenen Originalbefehl ausführen, erneut zum Aktivierungsmittel des Tracer-Sy- stems verzweigen, um die Sonde wieder einzubringen, und kann erst dann das getestete Programm hinter der Sonde fortsetzen.
Bei der Realisierung, die das Ausführungsbeispiel des erfindungsgemäßen Tracer-Systems verwendet und die im folgenden als Code-Simulation bezeichnet wird, werden die. beiden Schreibvorgänge im Programmspeicher (Originalcode wiederherstellen, Sonde erneut einbringen) mit der zuge¬ hörigen Schreibschutz- und Cache-Behandlung und die zweite Programmunterbrechung (erneute Verzweigung zum Aktivie- rungsmittel) vermieden und dadurch erheblich Zeit einge¬ spart.
Die erfindungsgemäße Code-Simulation besteht darin, daß bereits nach dem Abspeichern des Original-Befehls durch das Aktivierungsmittel mit Hilfe eines erfindungsgemäßen Fortsetzungsmittels (im Aktivierunsgmittel enthalten) ein kleines Programm (Zusatzcode) erzeugt wird, (siehe Figur 2), das zur Simulation dieses Originalbefehls dient, das die Rücksprungadresse zum getesteten Programm mitein- schließt und das nach Ablauf der Trace-Routine gestartet wird (siehe Figur 4).
Eine Code-Simulation ist besonders bei solchen Prozessoren vorteilhaft, die nur wenige Befehle kennen, die von ihrer Adresse im Arbeitsspeicher, bzw. dem aktuellen Wert des Programmzählers abhängen (z. B. der Befehl "Springe 20 Bytes zurück"). Dies ist z. B. bei RISC-Prozessoren der Fall.
Weiterhin kann bei den meisten RISC-Prozessoren dadurch Zeit eingespart werden, daß in den TRAP-Befehl, der für die Trace-Punkt-Sonde verwendet wird, bereits eine Trace- Punkt-Nummer eincodiert wird, die ein Suchen der Trace- Routine bzw. der für den Trace-Vorgang nötigen Verwal- tungsdaten des Tracer Systems erleichtert.
Eine weiteres wichtiges Software-Mittel des Tracer-Systems für den Einsatz in laufenden Realzeitsyst~"*-'n, z. B. Ver¬ mittlungssystemen, ist ein Überwachungsmι___1 SFG zur sogenannten "dynamische Selbstkontrolle", das im folgenden mit Hilfe der Figur 3 näher beschrieben wird.
Während eines Trace-Vorgangs überwacht das Tracer-System sich selbst, indem das Überwachungsmittel SFG ermittelt, wie stark das Tracer-System das laufende Realzeitsystem belastet, d. h. wieviel Rechenzeit es belegt. Werden dabei bestimmte Belastungsschwellwerte überschritten, so schal¬ tet sich das erfindungsgemäße Tracer-System mit Hilfe des Überwachungsmittels selbständig aus.
Das Überwachungsmittel SFG wird an jedem Trace-Punkt durch ein Ablaufmittel ABL zur Steuerung des Ablaufs des Trace- Vorgangs aufgerufen und zählt dabei immer zwei globale Zähler weiter. Der eine Zähler zählt dabei wieviele Trace- Punkte getroffen werden, während der andere Zähler die An¬ zahl der gesammelten Daten zählt. In bestimmten Zeitinter¬ vallen werden die beiden Zähler gegen Maximalwerte geprüft und zurückgesetzt. Stellt das Überwachungsmittel anhand der beiden Zähler oder anhand einer Überlast-Informa- tion über eine Schnittstelle zu einem Überlastabwehr¬ system UEL des Realzeitsystems fest, daß ein Fortsetzen des Trace-Vorgangs den Systembetrieb gefährden würde, so veranlaßt das Überwachungsmittel selbsttätig über das Aktivierungsmittel die Deaktivierung aller Trace-Punkte Schritt für Schritt, ohne für diese Deaktivierung zu viel Zeit an einem Stück zu belegen.
Das Überwachungsmittel SFG zur dynamischen Selbstkontrolle kann vom Bediener ausgeschaltet werden, wenn eine Fehlerana¬ lyse unter Überlastbedingungen erforderlich ist. Dieses Ausschalten kann auf bestimmte Überlast-Stufen beschränkt werden.
Figur 4 zeigt die Wirkungsweise des bereits erwähnten Ablaufmittels ABL zur Steuerung des Ablaufs des Trace- Vorgangs. Das Ablaufmittel wird an jedem Trace-Punkt auf- gerufen und veranlaßt daraufhin verschiedene Aktionen. Zunächst ruft es das Überwachungsmittel SFG auf. Sodann sucht es die für einen Trace-Punkt zur Steuerung des wei- teren Ablaufs benötigten Verwaltungsdaten. Daraufhin erfolgt der Aufruf der Trace-Routine, die die an einem Trace-Punkt gewünschten Daten sammelt und anschließend in einen Trace-Zwischenspeicher ZSP abspeichert. Schließlich ruft das Ablaufmittel das Programm zur Code-Simulation auf, das nach seinem Abschluß selbständig zu dem hinter dem Trace-Punkt liegenden nächsten Befehl des zu testenden Programms springt.

Claims

Patentansprüche
1. Tracer-System zur Fehleranalyse von Programmen in laufenden Realzeitsystemen, mit a) einem Eingabemittel (EIN) zur Eingabe von Definitionen für Trace-Punkte und Funktionen, die an einem jewei¬ ligen Trace-Punkt ausgeführt werden sollen, b) einem Generierungsmittel (GEN), das Trace-Routinen zur Ausführung der vorher definierten Funktionen erzeugt sowie Speicherbereiche zur Aufnahme der von den Trace-Routinen zu ermittelnden Daten, c) einem Aktivierungsmittel (AKT), das den Trace-Vorgang aktiviert, indem es an einem definierten Trace-Punkt anstelle des Original-Befehls einen Umleitungsbefehl einbringt, der eine Umleitung in eine entsprechende Trace-Routine bewirkt, d) einem Ablaufmittel (ABL), das den Ablauf des Trace-Vor¬ gangs steuert und ein unmittelbares Fortsetzen des ge- testen Programmes nach der Ausführung einer jeweiligen Trace-Routine veranlaßt, e) einem Ausgabemittel (AUS) zur Ausgabe der durch die Trace-Routinen ermittelten Daten zum Zwecke der Aus¬ wertung
2. Tracer-System nach Anspruch 1, g e k e n n z e i c h n e t d u r c h ein Fortsetzungsmittel, das für jeden Trace-Punkt jeweils ein Programm zur Simulation des letzten Original-Befehls erzeugt, wobei dieses Programm die Rücksprungadrese zum getesten Programm mit einschließt und vom Ablaufmittel (ABL) nach der Ausführung der Trace-Routine gestartet wird.
3. Tracer-System nach Anspruch 1 oder 2, d a d u r c h g e k e n n z e i c h n e t, daß das Aktivierungsmittel in jeden einzubringenden Umlei¬ tungsbefehl eine Trace-Punkt-Nummer eincodiert, die als Index zu den vom Ablaufmittel benötigten Verwaltungsdaten des Trace-Punktes dient.
4. Tracer-System nach einem der Ansprüche 1 bis 3, g e k e n n z e i c h n e t d u r c h ein Uberwachungsmittel (SFG), das a) überwacht, wie stark das Tracer-System während des Trace-Vorgangs das Realzeitsystem belastet, b) den Trace-Vorgang deaktiviert, falls ein bestimmter Belastungsschwellwert überschritten wird.
PCT/DE1994/001093 1993-09-28 1994-09-20 Tracer-system zur fehleranalyse in laufenden realzeitsystemen WO1995009396A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA002172737A CA2172737C (en) 1993-09-28 1994-09-20 Tracer system for analysing errors of running real time systems
DE59402939T DE59402939D1 (de) 1993-09-28 1994-09-20 Tracer-system zur fehleranalyse in laufenden realzeitsystemen
US08/619,532 US5737521A (en) 1993-09-28 1994-09-20 Tracer system for analyzing errors in running real-time systems
JP7510048A JPH09503084A (ja) 1993-09-28 1994-09-20 実行中のリアルタイムシステムにおけるエラー分析用トレーサシステム
EP94926801A EP0721620B1 (de) 1993-09-28 1994-09-20 Tracer-system zur fehleranalyse in laufenden realzeitsystemen
GR970401953T GR3024304T3 (en) 1993-09-28 1997-07-30 Tracer system for analysing errors of running real time systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE4332992 1993-09-28
DEP4332992.6 1993-09-28

Publications (1)

Publication Number Publication Date
WO1995009396A1 true WO1995009396A1 (de) 1995-04-06

Family

ID=6498838

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1994/001093 WO1995009396A1 (de) 1993-09-28 1994-09-20 Tracer-system zur fehleranalyse in laufenden realzeitsystemen

Country Status (10)

Country Link
US (1) US5737521A (de)
EP (1) EP0721620B1 (de)
JP (1) JPH09503084A (de)
AT (1) ATE153786T1 (de)
CA (1) CA2172737C (de)
DE (1) DE59402939D1 (de)
DK (1) DK0721620T3 (de)
ES (1) ES2102881T3 (de)
GR (1) GR3024304T3 (de)
WO (1) WO1995009396A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998045844A1 (de) * 1997-04-08 1998-10-15 Koninklijke Philips Electronics N.V. Einrichtung zum aufzeichnen eines informationssignales in einem aufzeichnungsträger und verfahren zum aufzeichnen eines informationssignales in einem aufzeichnungsträger
US6513155B1 (en) * 1997-12-12 2003-01-28 International Business Machines Corporation Method and system for merging event-based data and sampled data into postprocessed trace output
US6321331B1 (en) * 1998-04-22 2001-11-20 Transwitch Corporation Real time debugger interface for embedded systems
US6754891B1 (en) 1998-08-31 2004-06-22 Red Hat, Inc. Debugger system using tracepoints for computer software
JP3767276B2 (ja) * 1999-09-30 2006-04-19 富士通株式会社 システムコール情報の記録方法および記録装置
US6584586B1 (en) * 2000-03-22 2003-06-24 Advanced Micro Devices, Inc. Apparatus and method for capturing and transferring internal system activity
EP1146690B1 (de) * 2000-04-14 2006-06-21 Tektronix Berlin GmbH & Co. KG Verfahren und Vorrichtung zur Analyse von Daten
WO2003019375A1 (en) * 2001-08-27 2003-03-06 Telefonaktiebolaget L M Ericsson (Publ) Dynamic tracing in a real-time system
US7146473B1 (en) * 2003-11-14 2006-12-05 Sun Microsystems, Inc. Mechanism for ring buffering in an arbitrary-action tracing framework
US20060020413A1 (en) * 2004-07-26 2006-01-26 Septon Daven W Methods and apparatus for providing automated test equipment with a means to jump and return in a test program
US7484221B2 (en) * 2004-10-20 2009-01-27 Hewlett-Packard Development Company, L.P. Method and apparatus for logging the execution history of an operating system kernel
US7409677B1 (en) * 2004-11-16 2008-08-05 Sun Microsystems, Inc. Method and system for creation and use of embedded trace description
US20080052678A1 (en) * 2006-08-07 2008-02-28 Bryan Christopher Chagoly Method for Providing Annotated Transaction Monitoring Data for Initially Hidden Software components

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4462077A (en) * 1982-06-24 1984-07-24 Bell Telephone Laboratories, Incorporated Trace facility for use in multiprocessing environment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR353886A (fr) * 1904-05-14 1905-09-22 Stanislaus Berger Procédé pour isoler les fils conducteurs électriques
US5103394A (en) * 1984-04-30 1992-04-07 Hewlett-Packard Company Software performance analyzer
US5047919A (en) * 1986-04-03 1991-09-10 Harris Corporation Method and apparatus for monitoring software execution in a parallel multiprocessor computer system
US5127103A (en) * 1987-10-14 1992-06-30 North American Philips Corporation Real-time tracing of dynamic local data in high level languages in the presence of process context switches
US5303369A (en) * 1990-08-31 1994-04-12 Texas Instruments Incorporated Scheduling system for multiprocessor operating system
US5297274A (en) * 1991-04-15 1994-03-22 International Business Machines Corporation Performance analysis of program in multithread OS by creating concurrently running thread generating breakpoint interrupts to active tracing monitor
US5265254A (en) * 1991-08-14 1993-11-23 Hewlett-Packard Company System of debugging software through use of code markers inserted into spaces in the source code during and after compilation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4462077A (en) * 1982-06-24 1984-07-24 Bell Telephone Laboratories, Incorporated Trace facility for use in multiprocessing environment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Method for recording program execution", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 31, no. 8, January 1989 (1989-01-01), NEW YORK US, pages 450 - 452 *
J. F. GRANT: "Nondegrading operating system hooking", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 16, no. 2, July 1973 (1973-07-01), NEW YORK US, pages 541 *

Also Published As

Publication number Publication date
GR3024304T3 (en) 1997-10-31
EP0721620B1 (de) 1997-05-28
EP0721620A1 (de) 1996-07-17
US5737521A (en) 1998-04-07
CA2172737C (en) 2004-12-07
JPH09503084A (ja) 1997-03-25
ES2102881T3 (es) 1997-08-01
ATE153786T1 (de) 1997-06-15
DK0721620T3 (da) 1997-12-08
DE59402939D1 (de) 1997-07-03
CA2172737A1 (en) 1995-04-06

Similar Documents

Publication Publication Date Title
EP0645704B1 (de) Tracer-System zur Fehleranalyse in laufenden Realzeitsystemen
DE10050684B4 (de) Verfahren und System zur periodischen Ablaufverfolgung für Aufrufsequenzen zwischen Routinen
DE69216020T2 (de) Verbessertes fehlersuchsystem und -verfahren, besonders für die fehlersuche in einer multi-architekturumgebung
DE69422476T2 (de) Betriebssystembasierte Programmleistungsüberwachung
DE69919404T2 (de) On-line fehlerbeseitigungs- und ablaufverfolgungssytem und verfahren
DE69127992T2 (de) Mikroprozessor zur Buszykluseinfügung zwecks Informationslieferung für eine Emulation
DE69604347T2 (de) Bestimmung der dynamischen Eigenschaften von Programmen
DE69225750T2 (de) Datenverarbeitungssystem mit internem Befehlspufferspeicher
DE69330537T2 (de) System zur Analyse und Fehlerbeseitigung integrierter Software durch dynamischen und interactiven Gebrauch von Kode-Markierern
DE3854546T2 (de) Verfahren und Gerät zur Programmablaufmessung.
DE69415593T2 (de) Verfahren zur Überprüfung eines nachrichtengesteuerten Betriebssystems
WO1995009396A1 (de) Tracer-system zur fehleranalyse in laufenden realzeitsystemen
DE68924736T2 (de) Ablaufverfolgung der Programmausführungswege in einem Rechnersystem.
DE69114905T2 (de) Verfahren und System zum Optimieren des Abschaltens in Systemen aus programmierbaren Vorrichtungen.
DE3842289C2 (de) Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem
DE69815006T2 (de) Datenverarbeitungseinheit mit Fehlerbeseitungsmöglichkeiten
EP2962205B1 (de) Mehrkern-prozessorsystem mit fehleranalysefunktion
DE69128908T2 (de) Verfahren zum Durchführen von erlässlichen Befehlen in einem Rechner
WO2015086357A1 (de) Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts
DE69411096T2 (de) Entwicklungsunterstützungssystem für einen Mikrocomputer mit internem Cachespeicher
DE69416608T2 (de) Betriebssystemfehlerbeseitiger
DE60010847T2 (de) Verfahren zur Fehlerbeseitigung in einem Thread-Programm
WO2000043885A1 (de) Verfahren zum tracen von daten
DE102023201815A1 (de) Verfahren zum Testen eines Computerprogramms
WO1994009432A1 (de) Verfahren zur durchfürhung mindestens eines tests an mindestens einem von auf einem rechner parallel ablauffähigen objekten eines objektorientierten programmes

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1994926801

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 08619532

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2172737

Country of ref document: CA

WWP Wipo information: published in national office

Ref document number: 1994926801

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1994926801

Country of ref document: EP