WO1995009396A1 - Tracer-system zur fehleranalyse in laufenden realzeitsystemen - Google Patents
Tracer-system zur fehleranalyse in laufenden realzeitsystemen Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software 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
Description
Claims
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)
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)
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)
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 |
-
1994
- 1994-09-20 EP EP94926801A patent/EP0721620B1/de not_active Expired - Lifetime
- 1994-09-20 CA CA002172737A patent/CA2172737C/en not_active Expired - Fee Related
- 1994-09-20 DE DE59402939T patent/DE59402939D1/de not_active Expired - Lifetime
- 1994-09-20 WO PCT/DE1994/001093 patent/WO1995009396A1/de active IP Right Grant
- 1994-09-20 ES ES94926801T patent/ES2102881T3/es not_active Expired - Lifetime
- 1994-09-20 US US08/619,532 patent/US5737521A/en not_active Expired - Lifetime
- 1994-09-20 DK DK94926801.5T patent/DK0721620T3/da active
- 1994-09-20 JP JP7510048A patent/JPH09503084A/ja active Pending
- 1994-09-20 AT AT94926801T patent/ATE153786T1/de not_active IP Right Cessation
-
1997
- 1997-07-30 GR GR970401953T patent/GR3024304T3/el unknown
Patent Citations (1)
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)
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 |