DE19640876A1 - Vorrichtung zur Protokolldatensammlung und -Analyse - Google Patents

Vorrichtung zur Protokolldatensammlung und -Analyse

Info

Publication number
DE19640876A1
DE19640876A1 DE19640876A DE19640876A DE19640876A1 DE 19640876 A1 DE19640876 A1 DE 19640876A1 DE 19640876 A DE19640876 A DE 19640876A DE 19640876 A DE19640876 A DE 19640876A DE 19640876 A1 DE19640876 A1 DE 19640876A1
Authority
DE
Germany
Prior art keywords
program
log
history
log data
diagram
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
DE19640876A
Other languages
English (en)
Other versions
DE19640876C2 (de
Inventor
Yuji Sato
Norihisa Murayama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE19640876A1 publication Critical patent/DE19640876A1/de
Application granted granted Critical
Publication of DE19640876C2 publication Critical patent/DE19640876C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Description

HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
Die vorliegende Erfindung betrifft eine Vorrichtung zur Protokolldatensammlung und -analyse, und genauer gesagt, eine Vorrichtung, die Ausführungsverlaufsdaten, oder Proto­ kolldaten, von Programmen zur seriellen oder parallelen Datenverarbeitung sammelt und die gesammelten Protokolldaten anzeigt, um die Leistung der Programme zu analysieren.
2. Beschreibung der verwandten Technik
In den letzten Jahren haben sich Computerprogramme ein­ hergehend mit dem Fortschritt von Hardwaretechnologien, die die Hochgeschwindigkeitsdatenverarbeitung ermöglichen, kontinuierlich erweitert, und sie haben ihre Komplexität vergrößert. Diese Tendenz macht es Softwareingenieuren schwer zu verstehen, wie ihre Programme tatsächlich laufen. Für Fehlersuch- und Wartungszwecke verwenden die Ingenieure oft ein Protokoll, das einen Ausführungsverlauf von Program­ men aufzeichnet. Durch Sammeln der Protokollaufzeichnungen und deren Anzeigen in richtiger Zeitfolge können sie das Verhalten der Programme visuell verstehen.
Im Streben nach leistungsfähigeren Hilfen haben Soft­ wareingenieure viele nützliche Fehlersuchwerkzeuge entwic­ kelt, die die Programmaktivitäten in zeitlicher Reihenfolge grafisch darstellen. Ein typisches Beispiel für solch ein Visualisierungswerkzeug ist ein Programmfehlersuchsystem, das in der japanischen offengelegten Patentveröffentlichung Nr. Sho 61-262858 (1986) offenbart ist. Dieses Fehlersuch­ system sammelt Daten von der Aufgabenausführungszeit, den Aufgabenebenen, den Endstatusinformationen und dergleichen, und sieht Zeitlagendiagramme vor, um den Ausführungsverlauf von einer Vielzahl von Aufgaben mit Klassifizierung nach Aufgabenebene darzustellen. Ein anderes Beispiel, die japa­ nische offengelegte Patentveröffentlichung Nr. Hei 5-134903 (1993), offenbart einen Programmleistungsanalysierer, der auch das dynamische Verhalten von Programmen in der Form von Zeitlagendiagrammen darstellt, indem verschiedene Programm­ operationen in separate Ereignistypen wie Aufgaben, Unter­ brechungen und Systemaufrufe klassifiziert werden.
Jene Zeitlagendiagramme können zur Unterstützung des Nutzers beim Verstehen von Gesamtbetriebsbedingungen von Programmen dienlich sein, jedoch haben sie einige Probleme wie folgt.
Erstens sind die oben beschriebenen herkömmlichen Dia­ gramme auf Grund des Fehlens von Informationen bezüglich der Entsprechung zwischen jedem Teil des Diagramms und jenem des Quellkodes für den Nutzer nicht informativ genug, um einen Quellkode des im Test befindlichen Programms aufzuspüren und zu analysieren.
Zweitens verbrauchen die Protokolldaten zu viel Spei­ cherraum. Einige Typen von Berechnungsjobs erfordern das Anwenden paralleler Datenverarbeitungstechniken. Solche Jobs sind im allgemeinen sehr lang, worauf die Motivation zurück­ zuführen ist, die Parallelverarbeitung einzuführen. Selbst wenn die Programme selbst nicht so übermäßig lang sind, erzeugen sie, wie es bei Großprogrammen der Fall ist, eine enorme Menge an Protokolldaten auf Grund ihrer iterativen Operationen. Solche gewaltigen Programmdateien verschlingen den Platz auf der Platte des Nutzers.
Drittens dauert es sehr lange, um ein Zeitlagendiagramm zu erzeugen. Die gesammelten Protokolldaten werden erst in einer Protokolldatei gespeichert, und die Protokolldatei wird später zur Analyse herausgesucht. Diese Protokolldaten­ analyse ist jedoch auf Grund des enormen Volumens des Gegen­ standes ein sehr zeitaufwendiger Job.
Viertens ist die Qualität einer resultierenden Anzeige für den Nutzer nicht zufriedenstellend. Nach der Protokoll­ datenanalyse wird ihr Resultat an einem Bildschirm in der Form eines Graphen oder eines Verlaufsdiagramms angezeigt, wobei verschiedene Ereignisse in unterschiedlichen Farben klassifiziert sind. Da jedoch der verwendbare Bildschirm­ platz auf Grund der Größe einer Anzeigeeinheit begrenzt ist, kann jedes Ereignis zu einem schmalen Band komprimiert werden. Wenn die Nutzer versuchen, den gesamten Zeitbereich des Programms in jenem begrenzten Raum anzuzeigen, werden sie auf dem Bildschirm nichts als einige "Streifen" erschei­ nen sehen. Besonders wenn das Interesse des Nutzers nicht dem gesamten Bereich gilt, sondern sich auf einen kleinen Teil des Programms konzentriert, wird ihnen das obige Dia­ gramm nichts Sehenswertes bieten.
Schließlich sehen die herkömmlichen Diagramme nur ein begrenztes Verfahren zum Klassifizieren von Ereignissen vor. Die Nutzer sind nicht in der Lage, ihre eigenen Kriterien für die Klassifizierung gemäß den tatsächlichen Programmope­ rationen zu definieren, die während der Ausführung erfolgen können.
ZUSAMMENFASSUNG DER ERFINDUNG
Unter Berücksichtigung dessen ist es eine erste Aufgabe der vorliegenden Erfindung, eine Vorrichtung zur Protokoll­ datensammlung und -analyse vorzusehen, die die Teil-zu-Teil-Zuordnung zwischen einem Quellprogramm und einem Verlaufs­ diagramm, das die Programmoperationen angibt, nutzen kann.
Eine zweite Aufgabe der vorliegenden Erfindung ist es, eine Vorrichtung zur Protokolldatensammlung und -analyse vorzusehen, die es dem Nutzer gestattet, Protokolldaten selektiv für eine gewünschte Sektion eines Quellprogramms zu sammeln, um es nicht zuzulassen, daß die Protokolldatendatei zu groß wird, und um die Analyse nicht zu zeitaufwendig werden zu lassen.
Eine dritte Aufgabe der vorliegenden Erfindung ist es, eine Vorrichtung zur Protokolldatensammlung und -analyse vorzusehen, die es dem Nutzer ermöglicht, weitere Details einer willkürlichen Sektion der Protokolldaten zu sehen, indem ein relevanter Teil des Verlaufsdiagramms spezifiziert wird.
Eine vierte Aufgabe der vorliegenden Erfindung ist es, eine Vorrichtung zur Protokolldatensammlung und -analyse vorzusehen, die es dem Nutzer gestattet, Farbdefinitionen zu verändern, wenn die gesammelten Protokolldaten in der Form eines Verlaufsdiagramms angezeigt werden, das mit verschie­ denen Farben gemäß den Typen von Programmoperationen klassi­ fiziert ist.
Um die obigen Aufgaben zu erfüllen, ist gemäß der vor­ liegenden Erfindung eine Vorrichtung zur Protokolldatensamm­ lung und -analyse vorgesehen, die zum Analysieren des Ver­ haltens eines Programms verwendet wird. Diese Vorrichtung umfaßt ein Protokolldatensammelmittel, ein Protokolldaten­ speichermittel, ein Protokolldatenanalysiermittel, ein Diagrammerzeugungsmittel, ein Anzeigemittel und ein Zuord­ nungsanalysiermittel.
Das Protokolldatensammelmittel sammelt Protokollauf­ zeichnungen, während das Programm ausgeführt wird, wobei jede Protokollaufzeichnung Informationen bezüglich eines Operationstyps und der Ausführungszeit von jedem Teil des Programms enthält. Das Protokolldatenspeichermittel spei­ chert die Protokollaufzeichnungen, die durch das Protokoll­ datensammelmittel gesammelt wurden. Nachdem die Programmaus­ führung vollendet ist, sucht das Protokolldatenanalysiermit­ tel die Protokollaufzeichnungen aus dem Protokolldatenspei­ chermittel heraus und analysiert den Operationstyp und die Ausführungszeit von jeder Protokollaufzeichnung. Das Dia­ grammerzeugungsmittel erzeugt ein Verlaufsdiagramm, das die analysierten Protokollaufzeichnungen in zeitlicher Reihen­ folge sichtbar macht. Dieses Verlaufsdiagramm ist in eine Vielzahl von Segmenten gegliedert, die die jeweiligen Proto­ kollaufzeichnungen verkörpern, und das Anzeigemittel zeigt das erzeugte Verlaufsdiagramm an einem Bildschirm an.
Als Reaktion auf eine Instruktion von einem Nutzer führt das Zuordnungsanalysiermittel eine Analyse der Teil-zu-Teil-Zuordnung zwischen dem angezeigten Verlaufsdiagramm und einem Quellprogramm aus. Das Quellprogramm ist ein Satz von Instruktionsanweisungen, von denen das Programm in ausführbarer Form übersetzt wird. Das Zuordnungsanalysier­ mittel versieht das Diagrammerzeugungsmittel und/oder das Anzeigemittel mit der Teil-zu-Teil-Zuordnung, die durch die Analyse geklärt ist.
Das Zuordnungsanalysiermittel, um genauer darauf ein­ zugehen, akzeptiert die Bezeichnung einer Position am Bild­ schirm durch den Nutzer, die auf dem Verlaufsdiagramm liegt, und analysiert die Position am Bildschirm, um einen Funkti­ onsnamen und eine Programmstelle in dem Quellprogramm zu finden, die der Position am Bildschirm entsprechen. Das Zuordnungsanalysiermittel weist dann das Anzeigemittel an, den Funktionsnamen und die Programmstelle, die gefunden wurden, anzuzeigen.
Des weiteren akzeptiert das Zuordnungsanalysiermittel die Bezeichnung eines Funktionsnamens und dessen Stelle in dem Quellprogramm, und es analysiert den Funktionsnamen und die Stelle, um ein Segment des Verlaufsdiagramms zu finden, welches denen entspricht. Schließlich weist das Zuordnungs­ analysiermittel das Diagrammerzeugungsmittel an, das Ver­ laufsdiagramm so zu reproduzieren, daß das Segment unter­ scheidbar von dem anderen Teil des Verlaufsdiagramms ange­ zeigt wird.
Die obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung gehen aus der folgenden Beschrei­ bung in Verbindung mit den beiliegenden Zeichnungen hervor, die eine bevorzugte Ausführungsform der vorliegenden Erfin­ dung an einem Beispiel zeigen.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 ist eine Konzeptansicht einer Vorrichtung zur Protokolldatensammlung und -analyse gemäß der vorliegenden Erfindung;
Fig. 2 ist ein Diagramm, das die Datenstruktur einer Protokolldatei zeigt;
Fig. 3 ist ein Diagramm, das ein Beispielhauptprogramm zeigt, das eine Bibliotheksfunktion aufruft;
Fig. 4 ist ein Diagramm, das ein Beispielverlaufsdia­ gramm zeigt;
Fig. 5 ist ein Flußdiagramm, das einen Prozeß zeigt, um Informationen über ein Quellprogramm zu erhalten, die einem spezifizierten Punkt in dem Verlaufsdiagramm entsprechen;
Fig. 6 ist ein Diagramm, das ein Verlaufsdiagramm zeigt, wenn ein Funktionsname und eine Zeilennummer spezifi­ ziert sind;
Fig. 7 ist ein Flußdiagramm, das einen Prozeß zeigt, der durch einen Anzeigepositionsanalysierer auszuführen ist, um Protokollaufzeichnungsinformationen auf der Basis einer Stelle in einem Quellprogramm zu erhalten;
Fig. 8 ist ein Diagramm, das ein Beispiel eines Quell­ programms zeigt, welches Instruktionen zum selektiven Spezi­ fizieren einer Sektion enthält, die der Protokollsammlung unterliegt;
Fig. 9 ist ein Diagramm, das ein Protokollanzeigefen­ ster zeigt; und
Fig. 10(A) und 10(B) sind Diagramme, die jeweils ein Beispielverlaufsdiagramm mit Ereignisklassifizierung zeigen.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
Unter Bezugnahme auf die Zeichnungen wird unten eine Ausführungsform der vorliegenden Erfindung beschrieben.
Um einen Überblick über die vorliegende Erfindung zu geben, zeigt Fig. 1 eine Konzeptansicht einer Vorrichtung zur Protokolldatensammlung und -analyse. An Basisstruktur­ elementen zum Sammeln und Analysieren von Protokolldaten umfaßt die Vorrichtung die folgenden Elemente:
  • - ein Protokolldatensammelmittel 1 zum Sammeln von Pro­ tokollaufzeichnungen, während das Programm ausgeführt wird, welche Protokollaufzeichnungen Informationen hinsichtlich eines Operationstyps und der Ausfüh­ rungszeit von jedem Teil des Programms enthalten;
  • - ein Protokolldatenspeichermittel 2 zum Speichern der Protokollaufzeichnungen, die durch das Protokoll­ datensammelmittel 1 gesammelt wurden;
  • - ein Protokolldatenanalysiermittel 3 zum Heraussuchen der Protokollaufzeichnungen aus dem Protokolldaten­ speichermittel 2 und zum Analysieren des Operations­ typs und der Ausführungszeit von jeder Protokollauf­ zeichnung;
  • - ein Diagrammerzeugungsmittel 4 zum Erzeugen eines Verlaufsdiagramms, das die analysierten Protokollauf­ zeichnungen in zeitlicher Reihenfolge sichtbar macht, welches Verlaufsdiagramm in eine Vielzahl von Segmen­ ten gegliedert ist, die die jeweiligen Protokollauf­ zeichnungen darstellen; und
  • - ein Anzeigemittel 5 zum Anzeigen des Verlaufsdia­ gramms, das durch das Diagrammerzeugungsmittel 4 erzeugt wurde, an einem Bildschirm.
Zusätzlich zu den oben angegebenen Basisstrukturelemen­ ten umfaßt die Vorrichtung mehrere Elemente, um ihr Vermögen zur Protokolldatenanalyse zu verstärken, und zwar:
  • - ein Bildschirmpositionsbezeichnungsmittel 6 zum Akzeptieren der Bezeichnung einer Bildschirmposition durch den Nutzer, die auf dem Verlaufsdiagramm liegt, das durch das Anzeigemittel 5 angezeigt wird;
  • - ein Programmstellenanalysiermittel 7 zum Analysieren der Bildschirmposition, um einen Funktionsnamen und eine Programmstelle in dem Quellprogramm zu finden, die der Bildschirmposition entsprechen, und zum Anweisen des Anzeigemittels, um den Funktionsnamen und die Programmstelle, die gefunden wurden, anzuzei­ gen;
  • - ein Funktionsbezeichnungsmittel 8 zum Akzeptieren der Bezeichnung eines Funktionsnamens und einer Stelle von ihm in dem Quellprogramm; und
  • - ein Anzeigepositionsanalysiermittel 9 zum Analysieren des Funktionsnamens und der Stelle, um ein Segment des Verlaufsdiagramms zu finden, das ihnen ent­ spricht, und zum Anweisen des Diagrammerzeugungsmit­ tels, um das Verlaufsdiagramm so zu reproduzieren, daß das Segment unterscheidbar von dem anderen Teil des Verlaufsdiagramms angezeigt wird.
In der oben beschriebenen strukturellen Anordnung sam­ melt das Protokolldatensammelmittel 1 Protokolldaten eines Serien- oder Parallelverarbeitungsprogramms während dessen Ausführung. Die gesammelten Protokolldaten sind ein Satz von Protokollaufzeichnungen, wovon jede Informationen darüber enthält, welche Art von Operation das Programm zu der abge­ tasteten Zeit in dem Prozeß ausgeführt hat. Die Protokoll­ aufzeichnungen werden in dem Protokolldatenspeichermittel 2 gespeichert. Nachdem die Programmausführung vollendet ist, sucht das Protokolldatenanalysiermittel 3 die Protokollauf­ zeichnungen aus dem Protokolldatenspeichermittel 2 heraus und analysiert sie, wobei es die Typen von Programmoperatio­ nen klassifiziert und ihre jeweilige Ausführungszeit berech­ net. Das Diagrammerzeugungsmittel 4 schreibt das Resultat der Analyse durch das Protokolldatenanalysiermittel 3 in grafische Form oder ein Verlaufsdiagramm um und gibt es an das Anzeigemittel 5 aus. Dieses Verlaufsdiagramm ist in eine Vielzahl von Segmenten gegliedert, die die jeweiligen Proto­ kollaufzeichnungen verkörpern.
Wenn der Nutzer auf ein gewisses Segment in dem Dia­ gramm zeigt, das an dem Anzeigemittel 5 angezeigt wird, erhält das Bildschirmpositionsbezeichnungsmittel 6 die Koordinateninformationen von jenem Punkt. Das Programmstel­ lenanalysiermittel 7 analysiert die erhaltenen Koordinaten­ informationen, um einen entsprechenden Funktionsnamen und dessen Stelle in dem Quellprogramm zu finden, und läßt diese an einem Bildschirm des Anzeigemittels 5 anzeigen.
Wenn der Nutzer einen Funktionsnamen und dessen Stelle in dem Quellprogramm unter Verwendung des Funktionsbezeich­ nungsmittels 8 spezifiziert, berechnet das Anzeigepositi­ onsanalysiermittel 9 ein entsprechendes Segment des Ver­ laufsdiagramms auf der Basis des spezifizierten Funktions­ namens und der Stelle. Die berechnete Segmentposition wird dann dem Diagrammerzeugungsmittel 4 zugeführt, um eine besondere Programmoperation, die in jenem Segment ausgeführt wurde, unterscheidbar von den anderen in dem Verlaufsdia­ gramm hervorzuheben.
Zusätzlich zu den oben beschriebenen Strukturelementen umfaßt die Vorrichtung der vorliegenden Erfindung die fol­ genden Elemente:
  • - ein Protokollsammelsektionsdetektionsmittel 10 zum Detektieren von Protokollsammelsteuerinstruktionen, die in dem Quellprogramm eingebettet sind, zum Anwei­ sen des Protokolldatensammelmittels 1, um die Proto­ kollaufzeichnungen nur in einer Sektion zu sammeln, die durch die Protokollsammelsteuerinstruktionen bezeichnet ist;
  • - ein Zoominstruktionsmittel 11 zum Zooming-in und Zooming-out des angezeigten Verlaufsdiagramms; und
  • - ein Klassifizierungseinstellmittel 12 zum Definieren von Farben, die zur Klassifizierung der Programm­ operationen verwendet werden.
Der Nutzer setzt in das Quellprogramm im voraus Proto­ kollsammelsteuerinstruktionen ein, um eine Protokollsammel­ sektion zu spezifizieren. Wenn das Protokollsammelsektions­ detektionsmittel 10 die Instruktionen während der Pro­ grammausführung detektiert, sammelt das Protokolldatensam­ melmittel 1 Protokollaufzeichnungen nur für die Sektion, die durch die detektierten Instruktionen spezifiziert ist, und speichert sie in dem Protokolldatenspeichermittel 2. Somit kann der Nutzer genau das erhalten, was tatsächlich erfor­ derlich ist, wie riesig sein Programm auch sein mag. Dies verkürzt auch die Zeit für die Protokolldatenanalyse.
Bei Empfang einer Nutzerinstruktion, um die Zeitskale des Verlaufsdiagramms zu expandieren oder zusammenzuschrump­ fen, gibt das Zoominstruktionsmittel 11 diese an das Proto­ kolldatenanalysiermittel 3 weiter. Das Protokolldatenanaly­ siermittel 3 ändert dann die Zeitskale des Verlaufsdiagramms gemäß der Instruktion ab.
Das Klassifizierungseinstellmittel 12 definiert und modifiziert die Farben, die in dem Verlaufsdiagramm verwen­ det werden, um die Programmoperationen zu klassifizieren, um den Anforderungen des Nutzers zu entsprechen. Durch Einstel­ len der Klassifizierungsfarben instruiert das Klassifizie­ rungseinstellmittel 12 das Diagrammerzeugungsmittel 4 bezüglich dessen, ob die Programmoperationen nur grob oder eher präzise zu klassifizieren sind.
Die folgende Beschreibung präsentiert eine spezifische Ausführungsform der vorliegenden Erfindung.
Bevor die Vorrichtung der vorliegenden Erfindung ge­ startet wird, sollte ein ausführbares Computerprogramm, oder ein Objektprogramm, durch Kompilieren eines Quellprogramms, das in einer Quellsprache geschrieben ist, vorbereitet werden. Bei Compileroptionen kann das Objektprogramm einige spezielle Instruktionen zum Aufrufen von Protokollsammel­ funktionen enthalten, die das Protokollieren der Programm­ operationen ausführen. Jene Aufrufinstruktionen werden durch den Compiler zu Beginn und am Ende des Programmkörpers eingefügt, und beim Antreten und Verlassen jeder Biblio­ theksfunktion, wenn sie in dem Programm aufgerufen wird.
Ferner erstellt der Compiler, wenn das Programm kompiliert wird, eine Querverweistabelle, die jede Funktion mit ent­ sprechenden Zeilennummern in dem Quellprogramm und ihre jeweiligen Adressen in dem Objektprogramm verbindet.
Während der Ausführung von solch einem Objektprogramm und von Bibliotheksfunktionen werden die Protokollsammel­ funktionen, die dem Protokolldatensammelmittel 1 in Fig. 1 entsprechen, durch das Programm zu Beginn und am Ende des Programmkörpers und bei jedem Antreten und Verlassen der Bibliotheksfunktionen aufgerufen. Wenn das Programm zu den Protokollsammelfunktionen abzweigt, werden einige Adressen­ informationen in einem Stapelbereich gesichert: die Adresse der Aufrufinstruktion und die Adresse, die von den Funktio­ nen zurückzusenden ist. Die Protokollsammelfunktionen sam­ meln, wenn sie aufgerufen werden, eine Protokollaufzeichnung und speichern sie in einer Protokolldatei, die dem Proto­ kolldatenspeichermittel 2 in Fig. 1 entspricht.
Fig. 2 zeigt die Datenstruktur der Protokolldatei. Jede Protokollaufzeichnung 20, die als Eintrag der Protokolldatei gespeichert ist, ist in drei Felder gegliedert: ein Zeit­ stempelinformationsfeld 21, ein Funktionsidentifikationsfeld 22 und ein Informationsfeld der aufrufenden Adresse 23. Das Zeitstempelinformationsfeld 21 zeichnet die Zeit auf, wenn der Prozeß jede Funktion antritt und verläßt, die in dem Objektprogramm aufgerufen wird, welche Zeit ab der Startzeit der Programmausführung gemessen wird. Das Funktionsidentifi­ kationsfeld 22 enthält eine Nummer zum Identifizieren einer Funktion, die durch das Objektprogramm aufgerufen wurde. Das Informationsfeld der aufruf enden Adresse 23 enthält "hauptsächlich" die Adresse, von der die Funktion aufgerufen wird. Diese Adresse kann aus dem Stapel herausgesucht wer­ den.
Der Grund dafür, daß "hauptsächlich" gesagt wird, liegt darin, daß der Inhalt des Informationsfeldes der aufrufenden Adresse 23 von dem Typ der Funktion abhängt, die aufgerufen wird. Wenn eine Nutzerfunktion aufgerufen wird, gibt das Informationsfeld der aufrufenden Adresse 23 die Stelle jener Nutzerfunktion an. Wenn eine Bibliotheksfunktion direkt durch das Objektprogramm aufgerufen wird, gibt das Informa­ tionsfeld der aufrufenden Adresse 23 die Stelle jener Auf­ rufinstruktion an. Wenn eine Bibliotheksfunktion durch eine andere Bibliotheksfunktion aufgerufen wird (oder in ihr verschachtelt ist), sollte ihr Verschachtelungsweg zurück­ verfolgt werden, um die ursprüngliche Aufrufinstruktion in dem Objektprogramm zu erreichen, und die Adresse der ur­ sprünglichen Aufrufinstruktion wird in dem Informationsfeld der aufrufenden Adresse 23 aufgezeichnet.
Die oben beschriebenen Protokollaufzeichnungen werden während der Programmausführung gesammelt und schließlich zu einem Protokollanalysierer gesendet, der dem Protokolldaten­ analysiermittel 3 in Fig. 1 entspricht. Der Protokollanaly­ sierer untersucht im Detail, wie das Programm im Verlauf der Zeit ausgeführt wurde. Das Resultat der Analyse wird dann an einen Diagrammerzeuger geleitet, der dem Diagrammerzeugungs­ mittel 4 in Fig. 1 entspricht, um ein Verlaufsdiagramm zu erzeugen, das die gesammelten Protokolldaten längs der Zeitachse sichtbar macht. Das Verlaufsdiagramm wird an dem Bildschirm einer Anzeigeeinheit erscheinen, die dem Anzeige­ mittel 5 in Fig. 1 entspricht.
Die folgende Beschreibung konzentriert sich auf die An­ zeige des Verlaufsdiagramms, wobei auf ein typisches Bei­ spiel eines Quellprogramms und eines entsprechenden Objekt­ programms und von Bibliotheksfunktionen Bezug genommen wird.
Fig. 3 zeigt solch ein Beispiel, bei dem das Hauptpro­ gramm einen Bibliotheksfunktionsaufruf enthält. Ein Quell­ programm 30, eine Funktion mit der Bezeichnung "TEST", ruft eine Bibliotheksfunktion mit dem Namen "write" auf. Anwei­ sungen in dem Quellprogramm 30 haben ihre jeweiligen Zeilen­ nummern an ihrem Kopfabschnitt. Der Compiler übersetzt das Quellprogramm 30 in ein Objektprogramm 31. Bei diesem Kompi­ lierungsprozeß wird eine Compileroption verwendet, um das Protokollsammeln zu Beginn und am Ende der Programmausfüh­ rung vorzunehmen. Somit enthält das Objektprogramm 31 bei dem vorliegenden Beispiel zwei Instruktionen, die Protokoll­ sammelfunktionen "startlog()" und "endlog()" zu Beginn und am Ende seines Körpers aufrufen. Das Objektprogramm 31 ruft eine Bibliotheksfunktion 32 mit dem Namen "write()" auf, in der ferner eine andere Bibliotheksfunktion 33 mit dem Namen "write-sub()" verschachtelt ist.
Die Bibliotheksfunktion "write()" 32 ruft die Proto­ kollsammelfunktionen "startlog()" und "endlog()" zu Beginn und am Ende ihres Körpers oder beim Antreten und Verlassen jener Routine auf. Die Bibliotheksfunktion "write-sub()" 33 ruft sie auch auf dieselbe Weise auf.
Die Ausführung des oben beschriebenen Programms und der Funktionen wird in der folgenden Reihenfolge vorgenommen. Der Prozeß startet mit dem Objektprogramm 31 und läuft für einen Zeitraum "a" weiter, bis der Bibliotheksfunktionsauf­ ruf "write()" erfolgt. Der Prozeß zweigt dann in die Biblio­ theksfunktion "write()" 32 ab und läuft für einen Zeitraum "b", bis der Bibliotheksfunktionsaufruf "write-sub()" er­ folgt. Der nächste Zeitraum "c" ist für diese Bibliotheks­ funktion "write-sub()" 33. Der Prozeß kehrt zu der Mitte der Bibliotheksfunktion "write()" 32 zurück und führt den Rest von ihr für einen Zeitraum "d" aus. Schließlich kehrt der Prozeß zu der Mitte des Objektprogramms 31 zurück und läuft für einen Zeitraum "e", um das Programm zu Ende zu führen.
Die jeweils in dem Objektprogramm 31, der Bibliotheks­ funktion "write()" 32 und der Bibliotheksfunktion "write­ sub ()" 33 aufgerufenen Protokollsammelfunktionen "startlog()" und "endlog()" erzeugen Protokollaufzeichnungen und speichern sie in einer Protokolldatei. Später wird die Protokolldatei durch den Protokollanalysierer analysiert, um die Programmoperationen und deren jeweilige Zeitlängen, wie sie durch die Zeiträume "a" bis "e" angegeben sind, zu klassifizieren. Die analysierten Protokolldaten werden durch den Diagrammerzeuger in ein Verlaufsdiagramm konvertiert und schließlich am Bildschirm der Anzeigeeinheit angezeigt, wie unten beschrieben.
Fig. 4 zeigt ein Verlaufsdiagramm, das die Ausführungs­ folge des Objektprogramms 31 und der Bibliotheksfunktionen 32 und 33 darstellt. Das Verlaufsdiagramm ist ein Graph mit einem einzelnen Streifen, der aus mehreren Segmenten be­ steht, die die oben beschriebenen Zeitperioden "a" bis "e" darstellen, die in zeitlicher Reihenfolge angeordnet sind, wobei die Länge von jedem Segment zu der Zeitlänge von jeder Periode der Programmoperation proportional ist. Die Segmente "a" und "e" in Fig. 4 zeigen die Funktion "TEST", die Seg­ mente "b" und "d" die Bibliotheksfunktion "write()" 32, und das Segment "c" zeigt die Bibliotheksfunktion "write-sub()" 33. Das Verlaufsdiagramm erscheint auf dem Anzeigebild­ schirm, wobei die klassifizierten Segmente mit verschiedenen Farben dargestellt sind, um die Programmoperationen vonein­ ander zu unterscheiden. Die Farben können durch andere Visualisierungstechniken wie Strukturmuster, die eine Schraffierung enthalten, ersetzt werden, wie in Fig. 4 ersichtlich ist.
Eine einfache Zeige- und Klickoperation auf diesem Ver­ laufsdiagramm versieht den Nutzer mit einer Quellprogramm­ stelle von einer ihn interessierenden Funktion. Die folgende Beschreibung wird diesem Merkmal der Vorrichtung gemäß der vorliegenden Erfindung gewidmet.
Der Nutzer selektiert ein gewisses Segment in dem Ver­ laufsdiagramm auf dem Bildschirm mit einer Zeigevorrichtung wie z. B. einer Maus. Diese ist das in Fig. 1 erläuterte Bildschirmpositionsbezeichnungsmittel 6. Ein Programmstel­ lenfinder (d. h., das Programmstellenanalysiermittel 7 in Fig. 1), der die durch den Nutzer spezifizierten Koordinaten analysiert, sucht nach einer Funktion, die denen entspricht, und deren Zeilennummer in dem Quellprogramm, von wo die Funktion aufgerufen wurde. Der gefundene Funktionsname und die Zeilennummer werden dann auf dem Anzeigebildschirm dargestellt.
Wenn der Nutzer zum Beispiel auf das Segment "c" zeigen würde, findet die Vorrichtung dessen Stelle in dem Quellpro­ gramm auf der Basis der Adresseninformationen, die in den Protokollaufzeichnungen enthalten sind, und zeigt den ent­ sprechenden Funktionsnamen und die Zeilennummer wie folgt an:
"function: TEST line: 3"
Die folgende Beschreibung liefert Details über den Pro­ zeß, um einen Funktionsnamen und die Zeilennummer des Quell­ programms gemäß der spezifizierten Segmentstelle zu finden, wobei auf ein Flußdiagramm von Fig. 5 Bezug genommen wird.
Der Prozeß umfaßt die folgenden fünf Schritte.
[S1] Bei Empfang einer Mausklickaktion durch den Nutzer erhält die Vorrichtung eine Bildschirmposition, an der die Maustaste gedrückt worden ist.
[S2] Die Zeit, die jener angeklickten Position ent­ spricht, wird dann berechnet. Es sei erwähnt, daß die Länge des Verlaufsdiagramms die gesamte Programmausführungszeit angibt, und somit gibt die angeklickte Position die seit dem Start der Programmausführung abgelaufene Zeit an.
[S3] Die Vorrichtung sucht die Protokolldatei nach ei­ ner Aufzeichnung ab, die die Zeit der angeklickten Position hat.
[S4] Adresseninformationen werden aus der bei Schritt S3 gefundenen Aufzeichnung extrahiert. Diese Adresseninfor­ mationen existieren in dem Informationsfeld der aufrufenden Adresse 23, das bei Fig. 2 erläutert wurde. Die Vorrichtung erhält einen entsprechenden Funktionsnamen und die Zeilen­ nummer durch Absuchen einer Querverweistabelle unter Verwen­ dung der Adresseninformationen als Schlüsselwort. Diese Querverweistabelle ist zuvor durch den Compiler erstellt worden, so daß sie jedem Funktionsnamen entsprechende Adres­ sen sowie Programmzeilennummern zuordnet. Da Adressen, die in dieser Querverweistabelle gesammelt sind, diskrete sind, könnte die Adresse, die aus der Protokollaufzeichnung extra­ hiert wurde, mit den Tabelleneinträgen nicht vollkommen koinzidieren. So sollte die protokollierte Adresse dahinge­ hend geprüft werden, ob sie innerhalb eines Bereiches zwi­ schen irgendwelchen zwei konsekutiven aufruf enden Adressen liegt, und durch die Vorrichtung wird schließlich ein Funk­ tionsname und die Zeilennummer gewählt, die der nächsten Adresse entsprechen.
[S5] Die Vorrichtung gibt den erhaltenen Funktionsnamen und die Zeilennummer an die Anzeigeeinheit aus.
Die Vorrichtung, die einen Funktionsnamen suchen kann, der einem spezifischen Segment des Verlaufsdiagramms ent­ spricht, gestattet es dem Nutzer des weiteren, einen gewis­ sen Abschnitt des Quellprogramms zu spezifizieren, um sich auf einen relevanten Teil des Verlaufsdiagramms zu konzen­ trieren. Die folgende Beschreibung wird diesem Merkmal der Vorrichtung gewidmet.
Der Nutzer spezifiziert eine Programmstelle, indem ein Funktionsname (angenommen "TEST") und eine Zeilennummer (angenommen "3") in ein Funktionsnamenseingabefenster einge­ geben werden, das an einem Anzeigebildschirm geöffnet ist und jenes ist, welches in Fig. 1 als Funktionsbezeichnungs­ mittel 8 erläutert worden ist. Der Nutzer klickt dann auf eine "SEARCH"-Taste, um eine Suchoperation zu initiieren. Als Reaktion auf diese Aufforderung erhält ein Anzeigeposi­ tionsanalysierer zuerst eine Adresse von der Zeilennummer und zeichnet dann das Verlaufsdiagramm neu, so daß es die gefundenen Aufzeichnungen von anderen unterscheidbar dar­ stellt. Dieser Anzeigepositionsanalysierer ist jener, der in Fig. 1 als Anzeigepositionsanalysiermittel 9 erläutert wurde.
Fig. 6 zeigt ein Beispiel des Verlaufsdiagramms, das durch den oben beschriebenen Prozeß als Reaktion auf die Aufforderung des Nutzers erzeugt wurde, sich auf die Zeilen­ nummer "3" in der Funktion "TEST", zu konzentrieren. Der Anzeigepositionsanalysierer erhält zuerst eine Adresse, die der eingegebenen Zeilennummer entspricht, indem die Querver­ weistabelle konsultiert wird. Dann sucht er die Protokoll­ datei nach Aufzeichnungen ab, die zu der erhaltenen Adresse passen. Als Resultat dieser Suchoperation nach Adresse werden die relevanten Segmente des Verlaufsdiagramms von den anderen unterscheidbar angezeigt. Das heißt, die Segmente "b" bis "d", die Bibliotheksfunktionen bezeichnen, die bei der Zeilennummer "3" in dem Quellprogramm aufgerufen wurden, werden mit höherer Videointensität angezeigt, während der Rest des Verlaufsdiagramms mit niedriger Intensität darge­ stellt wird.
Die folgende Beschreibung erläutert nun den eingehenden Prozeß zum Hervorheben eines spezifischen Abschnittes des Verlaufsdiagramms, der einen Funktionsnamen und eine Zeilen­ nummer betrifft, die durch einen Nutzer vorgesehen wurden.
Fig. 7 ist ein Flußdiagramm, das einen Prozeß zeigt, der durch den Anzeigepositionsanalysierer zu diesem Zweck auszuführen ist. Der Prozeß erfolgt gemäß den folgenden vier Schritten.
[S11] Ein Funktionsname und eine Zeilennummer in dem Quellprogramm werden der Vorrichtung durch ein Funktions­ namenseingabefenster eingegeben, das auf dem Anzeigebild­ schirm geöffnet ist.
[S12] Der Anzeigepositionsanalysierer erhält eine Adresse, die dem bezeichneten Funktionsnamen und der Zeilen­ nummer entspricht, durch Konsultieren der Querverweis­ tabelle.
[S13] Der Anzeigepositionsanalysierer sucht die Proto­ kolldatei ab, um jede Protokollaufzeichnung zu extrahieren, die zu der Adresse paßt, die aus der Querverweistabelle erhalten wurde. Wie zuvor erläutert, umfassen die Protokoll­ aufzeichnungen nur Adressen von den ganz ursprünglichen Aufrufinstruktionen, die in dem Objektprogramm enthalten sind, selbst wenn die Bibliotheksfunktionen verschachtelt sind. Dies bedeutet, daß eine Vielzahl von Adressen einem Funktionsnamen zugeordnet sein kann. Bei dem obigen Beispiel passen zu dem Fall drei Aufzeichnungen, die die Perioden "b"-"d" angeben.
[S14] Der Anzeigepositionsanalysierer weist den Dia­ grammerzeuger an, das Verlaufsdiagramm zu erzeugen, das sich auf die Funktionen konzentriert, die in den Protokollauf­ zeichnungen gefunden wurden.
Wie oben beschrieben, präsentiert die vorliegende Er­ findung ein Verlaufsdiagramm, um das Programmverhalten auf assoziierende Weise mit der Quellprogrammstruktur sichtbar zu machen, woraus der Nutzer die folgenden Vorteile ziehen kann.
Erstens kann das Verlaufsdiagramm zur Leistungsanalyse von Programmen verwendet werden. Da das Diagramm das Pro­ grammverhalten im Verlauf der Zeit zeigt, kann der Nutzer leicht herausfinden, welcher Teil des Programms der zeitauf­ wendigste ist. Es gestattet dem Nutzer auch, einen Teil zu finden, bei dem Interprozeßkommunikationen nicht so opti­ miert sind, so daß viel Zeit benötigt wird, um Daten bei der Parallelverarbeitung zu der Gegenseite zu übertragen oder nur auf eine Mitteilung von ihr zu warten. Wenn solch ein Teil gefunden wird, kann der Nutzer nach einem relevanten Teil des Quellprogramms suchen und das Problem lokalisieren, welches der Verbesserung bedarf.
Zweitens kann das Verlaufsdiagramm zur Fehlersuche bei Programmen verwendet werden. Da alle Funktionsaufrufe, die stattgefunden haben, und deren jeweilige Ursprünge in zeit­ licher Folge gezeigt werden, kann der Nutzer den Verlauf der Programmausführung zurückverfolgen. Dies hilft einige Arten von Fehlern zu eliminieren, die zu unkorrekten Resultaten führen können oder einen abnormen Abschluß des Programms verursachen können.
Gemäß der vorliegenden Erfindung ist es auch möglich, Protokolldaten selektiv für eine gewünschte Sektion eines Quellprogramms zu erhalten. Die folgende Beschreibung stellt eine Vorrichtung vor, bei der das Protokollsammelsektions­ detektionsmittel 10 verwendet wird, das in Fig. 1 gezeigt ist.
Fig. 8 zeigt ein Beispiel eines Quellprogramms, das mehrere Instruktionen zum selektiven Spezifizieren einer Sektion enthält, in der Protokolldaten zu sammeln sind. Dieses Beispielquellprogramm 41 besteht aus drei Sektionen A, B und C, wobei nur die Sektion B der Protokollsammlung unterliegt. Um Protokolldaten zu sammeln, ruft das Quellpro­ gramm 41 eine Protokollfreigabefunktion "LOGSTART()" und eine Protokollsperrfunktion "LOGEND()" vor bzw. nach der Sektion B auf. Der Nutzer kann jene Protokollsammelsteuer­ funktionen an irgendeine Stelle in dem Quellprogramm 41 schreiben, um die betreffende Sektion zu spezifizieren.
Eine Bibliothek 42, eine Sammlung von Funktionen, die durch das Quellprogramm 41 aufgerufen werden, enthält eine Protokollstartsubroutine "logstart" und eine Protokollend­ subroutine "logend". Erstere Subroutine sieht einen Proto­ kollsammelaufbauprozeß vor, während die letztere einen Protokollsammelnachprozeß vorsieht.
Der Protokollsammelaufbauprozeß setzt augenblicklich ein Protokollsteuerflag, um die Protokollsammeloperationen zu aktivieren. Dieses Protokollsteuerflag wird sich auf die Protokollsammelfunktionen "startlog()" und "endlog()" aus­ wirken, die von dem Objektprogramm 31 sowie von Bibliotheks­ funktionen 32 und 33 aufgerufen werden. Jene Funktionen erzeugen nur dann Protokollaufzeichnungen, wenn das Proto­ kollsteuerflag gesetzt ist. Andererseits tun jene Funktionen nichts, während das Flag zurückgesetzt ist. Im Gegensatz zum Protokollsammelaufbauprozeß setzt der Protokollsammelnach­ prozeß das Protokollsteuerflag zurück, um weitere Protokol­ lieroperationen zu sperren.
Daher bleibt das Protokollsteuerflag nur gesetzt, wäh­ rend der Computer Routinen ausführt, die der Sektion B als Teil des Quellprogramms 41 entsprechen, wodurch die Proto­ kollsammelfunktionen aktiviert werden, die in jenem begrenz­ ten Bereich aufgerufen wurden. So erhält der Protokolldaten­ sammler in der Vorrichtung Protokollaufzeichnungen nur von der Sektion B, die durch den Nutzer spezifiziert worden ist, und somit wird die Protokolldatei 43 die begrenzte Anzahl von Aufzeichnungen für die Sektion B enthalten.
Standardmäßig werden die Protokolldaten zu Beginn und am Ende des Programms gesammelt. Beim Sammeln der nutzerspe­ zifizierten Protokolldaten ferner für die Sektion B ergeben die Endaufzeichnungen ein Verlaufsdiagramm wie in Fig. 8 unten gezeigt. Aus diesem Diagramm kann der Nutzer erkennen, wo die Sektion B in der gesamten Programmausführungszeit liegt.
Die vorliegende Erfindung sieht ferner eine Skalie­ rungsfunktion zum Expandieren oder Reduzieren des Sichtbe­ reiches des Verlaufsdiagramms vor, das an einem Bildschirm angezeigt wird, um sich auf eine gewünschte Sektion in dem Programm konzentrieren zu können. Die folgende Beschreibung erläutert diese Skalierungsfunktion.
Fig. 9 zeigt ein Protokollanzeigefenster 50, um den Nutzern solch ein flexibles Verlaufsdiagramm anzubieten.
Dieses Protokollanzeigefenster 50 enthält:
  • - einen Diagrammsichtbereich 51 zum Anzeigen eines Ver­ laufsdiagramms;
  • - eine Taste "SHOW ALL" 52, um den gesamten Zeitbereich des Verlaufsdiagramms in den Diagrammsichtbereich 51 einzupassen;
  • - Tasten "ZOOM IN" und "ZOOM OUT" 53 und 54, um die Zeitskale des Verlaufsdiagramms kontinuierlich oder schrittweise zu verändern;
  • - Tasten "SCROLL LEFT" und "SCROLL RIGHT" 55 und 56, um das Diagramm bei "ZOOM IN" in die linken und rechten Richtungen zu rollen; und
  • - einen Zeitangabebereich 57, um in numerischer Form die Zeit an beiden Endpunkten des Diagrammsichtberei­ ches 51 anzugeben.
Um dieses Protokollanzeigefenster 50 zu verwalten, ist ein Zoomcontroller, der dem Zoominstruktionsmittel 11 in Fig. 1 entspricht, mit einem temporären Speicher versehen, um Positionen zu enthalten, die der Nutzer mit einer Maus oder anderen Zeigevorrichtungen bezeichnet hat, oder um die gegenwärtigen Werte der Start zeit und der Endzeit des Dia­ grammsichtbereiches 51 zu bewahren.
Der Diagrammsichtbereich 51 in dem Protokollanzeigefen­ ster 50 zeigt normalerweise das Verlaufsdiagramm für den gesamten Zeitbereich an. Die linke Spalte des Zeitangabe­ bereiches 57 mit der Bezeichnung "WHOLE RANGE" gibt die Startzeit "0" zusammen mit der Endzeit der Programmausfüh­ rung in Mikrosekunden an.
Falls der Nutzer die Taste "ZOOM IN" 53 betätigt, um zu versuchen, detailliertere Protokollinformationen zu erhal­ ten, wird das Verlaufsdiagramm in horizontalen Richtungen expandiert, wobei seine Mitte an derselben Position bleibt. Während die Protokolldaten auf beiden Seiten des Diagramm­ sichtbereiches 51 außer Sicht geraten, werden die detail­ lierten Informationen im zentralen Teil allmählich offen­ bart. Jedes Mal, wenn der Nutzer die Taste "ZOOM IN" 53 betätigt, berechnet die Vorrichtung die Startzeit und die Endzeit des Diagrammsichtbereiches 51 und zeichnet das Verlaufsdiagramm neu, wobei die Protokollaufzeichnungen innerhalb jenes Zeitbereiches extrahiert werden. Gemäß diesem Neuzeichnen werden die Startzeit und die Endzeit, die in dem temporären Speicher gesichert sind, auch aktualisiert und in der rechten Spalte des Zeitangabebereiches 57 mit der Bezeichnung "PRESENT SCOPE" angezeigt. Jene Zeitindikatoren in der rechten Spalte geben die Zeit an, die seit dem Start der Programmausführung abgelaufen ist.
Auf analoge Weise zu dem oben beschriebenen Zoom-in-Prozeß kann der Nutzer den gegenwärtigen Schwerpunkt auf einem Verlaufsdiagramm durch "ZOOM OUT" verlassen. Wenn der Nutzer die Taste "ZOOM OUT" 54 betätigt, um zu versuchen, den Sichtbereich zu verbreitern, sucht die Vorrichtung die Startzeit und Stopzeit in dem temporären Speicher heraus und berechnet für sie neue Werte. Die Vorrichtung zeichnet dann das Verlaufsdiagramm neu, wobei die Protokollaufzeichnungen innerhalb jenes neuen Zeitbereiches extrahiert werden. Da jede Segmentlänge schmaler wird, rücken die Segmente inner­ halb des Diagrammsichtbereiches 51 zu der Mitte des Ver­ laufsdiagramms hin zusammen, und somit werden die Aufzeich­ nungen, die aus dem Bereich herausgeworfen worden sind, in den Bereich 51 zurückkehren. Gemäß den Zoom-in-Operationen werden die Daten in dem temporären Speicher aktualisiert, und die Zeitindikatoren in der Spalte "PRESENT SCOPE" des Zeitangabebereiches 57 werden auch aufgefrischt.
Falls der Nutzer die Taste "SHOW ALL" 52 betätigt, wäh­ rend das Verlaufsdiagramm expandiert ist, wird sich der Diagrammsichtbereich 51 sofort zu einer Protokollanzeige für den gesamten Zeitbereich der Programmausführung verändern. Mit anderen Worten, diese Taste "SHOW ALL" 52 ermöglicht es dem Nutzer, von dem Detailanzeigemodus leicht zu dem Über­ sichtsmodus zurückzukehren.
So zeigt, wenn das Verlaufsdiagramm expandiert ist, der Diagrammsichtbereich 51 nur eine begrenzte Anzahl von Proto­ kollaufzeichnungen, die aus den gesamten Protokolldaten gemäß einem gegebenen Zeitbereich extrahiert wurden. Mit anderen Worten, der Nutzer sieht nur einen Teil des Ausfüh­ rungsverlaufs durch ein kleines Sichtfenster. Der Nutzer kann jedoch dieses Sichtfenster in die linke oder rechte Richtung bewegen, indem die Taste "SCROLL LEFT" 55 oder die Taste "SCROLL RIGHT" 56 betätigt wird. Synchron mit dieser Ansichtsbewegung werden der Inhalt in dem Diagrammsicht­ bereich 51 und die Zeitindikatoren in der Spalte "PRESENT SCOPE" des Zeitangabebereiches 57 aktualisiert.
Als Alternativanordnung kann das Protokollanzeigefen­ ster 50 konfiguriert sein, um anstelle der Taste "SCROLL LEFT" 55 und der Taste "SCROLL RIGHT" 56 einen Rollbalken zu haben, um das Sichtfenster zum Zeigen von anderen Abschnit­ ten der Protokolldaten zu verschieben. Dieser Rollbalken hat den Vorteil, daß der Nutzer sehen kann, wo in dem gesamten Programm der Diagrammsichtbereich 51 zur Zeit liegt.
Als andere Alternativanordnung kann das Protokollanzei­ gefenster 50 konfiguriert sein, daß der Nutzer anstelle der Vergrößerung in der Mitte des Diagrammsichtbereiches 51 den Zoomingpunkt direkt angeben kann. Unter Verwendung einer Maus kann der Nutzer in den Diagrammsichtbereich 51 klicken, um den Punkt zu spezifizieren, wo die Zoomoperation wirken soll.
Als noch andere Alternativanordnung kann die Spalte "PRESENT SCOPE" des Zeitangabebereiches 57 die Startzeit und die Endzeit anzeigen, die bezüglich der Startzeit einer durch den Nutzer bezeichneten Funktion gemessen wird, statt sie ab Programmstart zu messen.
Bei der vorliegenden Erfindung werden die Protokoll­ daten an einem Bildschirm angezeigt, wobei sie mit verschie­ denen Farben gemäß den Typen von Programmoperationen klassi­ fiziert sind, und der Nutzer kann die Farben spezifizieren. Die folgende Beschreibung erläutert einen Farbmanager zum Einstellen der Farben zum Zweck der Klassifizierung. Dieser Farbmanager ist das bei Fig. 1 beschriebene Klassifizie­ rungseinstellmittel 12.
Zum Anzeigen eines Verlaufsdiagramms mit Farbklassifi­ zierung, um die Programmoperationen zu unterscheiden, defi­ niert der Nutzer, nehmen wir an, zwei Farbmuster, und die Vorrichtung speichert sie in einer Speichereinheit in dem Farbmanager. Der Nutzer kann eines der Muster durch Anklic­ ken von Tasten oder andere selektive Aktionen selektieren, hin und her, und dies hilft ihm außerordentlich beim analy­ tischen Verstehen des Verlaufsdiagramms.
Fig. 10(A) und 10(B) zeigen zwei Beispiele von Ver­ laufsdiagrammen mit solch einer Farbklassifizierung.
Fig. 10(A) zeigt ein Verlaufsdiagramm für das gesamte Programm, wobei ein grobes Farbmuster verwendet wird, um einen Überblick über die Programmoperationen auf Basisebene zu geben. Die Operationen auf Basisebene sind in drei Grup­ pen geordnet: Objektoperationen, Bibliotheksoperationen und Leerlauf. Jene Gruppen von Operationen werden in dem Ver­ laufsdiagramm mit verschiedenen Farben nach Wahl des Nutzers dargestellt. Die Farbdefinitionen sind in einer Farboperati­ onszuordnungstabelle 61 gespeichert. Die Vorrichtung konsul­ tiert diese Farboperationszuordnungstabelle 61, um die richtigen Farben zu selektieren, wenn Verlaufsdiagramme erzeugt werden. Als Resultat erhält der Nutzer ein Verlaufs­ diagramm 62 in Fig. 10(A), welches die drei Operationen in verschiedenen Farben kenntlich macht.
Fig. 10(B) zeigt ein Beispielverlaufsdiagramm, bei dem die Klassifizierung von Programmoperationen der zweiten Ebene hereingebracht wurde und das sich auf die oben beschriebenen Bibliotheksoperationen der Basisebene konzen­ triert. Diese Klassifizierung der zweiten Ebene unterteilt die Bibliotheksoperationen in vier Gruppen: Bibliotheksope­ rationen initialisieren/beenden, E/A-Bibliotheksoperationen, Datenübertragungsbibliotheksoperationen und die anderen Bibliotheksoperationen. So werden die Programmoperationen insgesamt in sechs Gruppen unterteilt, wie in einer Farbope­ rationszuordnungstabelle 63 ersichtlich ist, wo die Farben durch den Nutzer definiert werden. Ein Verlaufsdiagramm 64 wird durch die Vorrichtung mit den Definitionen erzeugt, die in dieser Tabelle 63 registriert sind.
Die obige Abhandlung wird unten zusammengefaßt. Die vorliegende Erfindung sieht eine Vorrichtung vor, die Proto­ kollaufzeichnungen sammelt und ein Verlaufsdiagramm anzeigt, um die gesammelten Aufzeichnungen grafisch darzustellen. Die Vorrichtung ist mit einem Mittel versehen zum Analysieren der Teil-zu-Teil-Zuordnung zwischen dem angezeigten Ver­ laufsdiagramm und seinem entsprechenden Quellprogramm als Reaktion auf Instruktionen von dem Nutzer. Deshalb kann der Nutzer einen Funktionsnamen und eine Zeilennummer finden, indem einfach ein Segment in dem Verlaufsdiagramm, das ihn interessiert, spezifiziert wird. Auch kann der Nutzer spezi­ fische Protokollaufzeichnungen in dem Verlaufsdiagramm leicht lokalisieren, indem ein Funktionsname und eine Zei­ lennummer eingegeben werden. Jene Möglichkeiten gestatten es den Nutzern, ihre Programme auf visuelle Weise zu inspizie­ ren und die Probleme zu lokalisieren. Bei der computerunter­ stützten Softwareentwicklung dient die Vorrichtung der vorliegenden Erfindung als starkes Werkzeug zur Programmfeh­ lersuche und Leistungsanalyse, besonders wenn es sich um komplizierte Serienverarbeitungsprogramme oder Parallelver­ arbeitungsprogramme handelt.
Vorstehendes wird für die Prinzipien der vorliegenden Erfindung nur als illustrativ angesehen. Da des weiteren Fachleute leicht auf zahlreiche Abwandlungen und Veränderun­ gen kommen werden, wird nicht gewünscht, die Erfindung auf die exakte Konstruktion und auf gezeigte und beschriebene Anwendungen zu beschränken, und daher können alle geeigneten Abwandlungen und Äquivalente als in den Schutzumfang der Erfindung fallend, wie er in den beigefügten Ansprüchen definiert ist, und als deren Äquivalente angesehen werden.

Claims (6)

1. Vorrichtung zur Protokolldatensammlung und -analyse, die zum Analysieren des Verhaltens eines Programms verwendet wird, mit:
einem Protokolldatensammelmittel zum Sammeln von Protokollaufzeichnungen, während das Programm ausgeführt wird, von welchen Protokollaufzeichnungen jede Informationen hinsichtlich eines Operationstyps und der Ausführungszeit von jedem Teil des Programms enthält;
einem Protokolldatenspeichermittel zum Speichern der Protokollaufzeichnungen, die durch das Protokolldaten­ sammelmittel gesammelt wurden;
einem Protokolldatenanalysiermittel zum Heraus­ suchen der Protokollaufzeichnungen aus dem Protokolldaten­ speichermittel und zum Analysieren des Operationstyps und der Ausführungszeit von jeder Protokollaufzeichnung;
einem Diagrammerzeugungsmittel zum Erzeugen eines Verlaufsdiagramms, das die analysierten Protokollaufzeich­ nungen in zeitlicher Reihenfolge sichtbar macht, welches Verlaufsdiagramm in eine Vielzahl von Segmenten gegliedert ist, die die jeweiligen Protokollaufzeichnungen verkörpern;
einem Anzeigemittel zum Anzeigen des Verlaufsdia­ gramms, das durch das Diagrammerzeugungsmittel erzeugt wurde, an einem Bildschirm; und
einem Zuordnungsanalysiermittel zum Ausführen einer Analyse der Teil-zu-Teil-Zuordnung zwischen dem ange­ zeigten Verlaufsdiagramm und einem Quellprogramm als Reak­ tion auf eine Instruktion von einem Nutzer und zum Versehen des Diagrammerzeugungsmittels und/oder des Anzeigemittels mit der Teil-zu-Teil-Zuordnung, die durch die Analyse geklärt wurde, welches Quellprogramm ein Satz von Instruk­ tionsanweisungen ist, von denen das Programm in ausführbarer Form übersetzt wird.
2. Vorrichtung nach Anspruch 1, welches Zuordnungs­ analysiermittel umfaßt:
ein Bildschirmpositionsbezeichnungsmittel zum Akzeptieren der Bezeichnung einer Position auf dem Bild­ schirm durch den Nutzer, die auf dem Verlaufsdiagramm liegt, das durch das Anzeigemittel angezeigt wird; und
ein Programmstellenanalysiermittel zum Analysieren der Position auf dem Bildschirm, um einen Funktionsnamen und eine Programmstelle in dem Quellprogramm zu finden, die der Position auf dem Bildschirm entsprechen, und zum Anweisen des Anzeigemittels, den Funktionsnamen und die Programm­ stelle anzuzeigen, die gefunden wurden.
3. Vorrichtung nach Anspruch 1, welches Zuordnungs­ analysiermittel umfaßt:
ein Funktionsbezeichnungsmittel zum Akzeptieren der Bezeichnung eines Funktionsnamens und einer Stelle von ihm in dem Quellprogramm; und
ein Anzeigepositionsanalysiermittel zum Analysie­ ren des Funktionsnamens und der Stelle, um ein Segment des Verlaufsdiagramms zu finden, das denen entspricht, und zum Anweisen des Diagrammerzeugungsmittels, das Verlaufsdiagramm so zu reproduzieren, daß das Segment unterscheidbar von dem anderen Teil des Verlaufsdiagramms angezeigt wird.
4. Vorrichtung nach Anspruch 1, ferner mit einem Pro­ tokollsammelsektionsdetektionsmittel zum Detektieren von Protokollsammelsteuerinstruktionen, die in dem Quellprogramm eingebettet sind, und zum Anweisen des Protokolldatensammel­ mittels, die Protokollaufzeichnungen nur in einer Sektion zu sammeln, die durch die Protokollsammelsteuerinstruktionen bezeichnet ist.
5. Vorrichtung nach Anspruch 1, ferner mit einem Zoominstruktionsmittel zum Instruieren des Protokolldaten­ analysiermittels, die Zeitskale abzuändern, die für das Verlaufsdiagramm verwendet wird.
6. Vorrichtung nach Anspruch 1, bei der das Diagrammerzeugungsmittel das Verlaufs­ diagramm so erzeugt, daß verschiedene Farben der Vielzahl von Segmenten von ihm zugeordnet werden, in Abhängigkeit von den Operationstypen, die in der jeweiligen Protokollauf­ zeichnung enthalten sind,
welche Vorrichtung ferner ein Klassifizierungs­ einstellmittel umfaßt, zum Definieren der Farben, die durch das Diagrammerzeugungsmittel verwendet werden.
DE19640876A 1996-03-26 1996-10-04 Vorrichtung zur Protokolldatensammlung und -Analyse Expired - Fee Related DE19640876C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07019796A JP3472026B2 (ja) 1996-03-26 1996-03-26 ログ情報採取解析装置

Publications (2)

Publication Number Publication Date
DE19640876A1 true DE19640876A1 (de) 1997-10-02
DE19640876C2 DE19640876C2 (de) 1998-11-12

Family

ID=13424558

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19640876A Expired - Fee Related DE19640876C2 (de) 1996-03-26 1996-10-04 Vorrichtung zur Protokolldatensammlung und -Analyse

Country Status (4)

Country Link
US (1) US5819094A (de)
JP (1) JP3472026B2 (de)
KR (1) KR100257470B1 (de)
DE (1) DE19640876C2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG80592A1 (en) * 1998-05-07 2001-05-22 Panasonic Singapore Lab Pte Lt Graphical microcontroller software development system flow chart engine
DE102005025265B4 (de) * 2005-06-02 2010-12-23 Audi Ag Verfahren und Vorrichtung zum Erfassen und Auswerten von Daten von zumindest einer Einheit in einem Kraftfahrzeug

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247149B1 (en) * 1997-10-28 2001-06-12 Novell, Inc. Distributed diagnostic logging system
US5960202A (en) * 1997-10-31 1999-09-28 Hewlett Packard Company Method and apparatus for automatically logging compiler options and/or overriding compiler options
JP3351318B2 (ja) * 1997-11-07 2002-11-25 株式会社日立製作所 計算機システムの監視方法
US6212653B1 (en) * 1998-02-18 2001-04-03 Telefonaktiebolaget Lm Ericsson (Publ) Logging of events for a state driven machine
US6253337B1 (en) * 1998-07-21 2001-06-26 Raytheon Company Information security analysis system
US6304262B1 (en) 1998-07-21 2001-10-16 Raytheon Company Information security analysis system
US7047423B1 (en) * 1998-07-21 2006-05-16 Computer Associates Think, Inc. Information security analysis system
US6269447B1 (en) * 1998-07-21 2001-07-31 Raytheon Company Information security analysis system
US6467052B1 (en) * 1999-06-03 2002-10-15 Microsoft Corporation Method and apparatus for analyzing performance of data processing system
US6557167B1 (en) * 1999-09-03 2003-04-29 International Business Machines Corporation Apparatus and method for analyzing performance of a computer program
US6654948B1 (en) 1999-10-12 2003-11-25 International Business Machines Corporation Methods and apparatus for partial and consistent monitoring of object-oriented programs and systems
US6915342B1 (en) * 2000-02-04 2005-07-05 Ricoh Company Limited Method and system for maintaining the business office appliance through log files
US6996808B1 (en) * 2000-02-12 2006-02-07 Microsoft Corporation Function injector
US7774790B1 (en) * 2000-07-18 2010-08-10 Apple Inc. Event logging and performance analysis system for applications
US6959327B1 (en) * 2000-08-29 2005-10-25 International Business Machines Corporation System and method for dispatching and scheduling network transmissions with feedback
US7403994B1 (en) * 2000-08-29 2008-07-22 International Business Machines Corporation Method of doing business over a network by transmission and retransmission of digital information on a network during time slots
US7150017B1 (en) 2000-08-29 2006-12-12 International Business Machines Corporation System and method for scheduling digital information transmission and retransmission on a network during time slots
US6579005B2 (en) 2000-12-28 2003-06-17 General Electric Company Utilization of pyrometer data to detect oxidation
US7174536B1 (en) * 2001-02-12 2007-02-06 Iowa State University Research Foundation, Inc. Integrated interactive software visualization environment
JP3626458B2 (ja) * 2001-06-04 2005-03-09 株式会社ソニー・コンピュータエンタテインメント ログ収集解析システム、ログ収集方法、コンピュータに実行させるためのログ収集プログラム、ログ解析方法、コンピュータに実行させるためのログ解析プログラム、ログ収集装置、ログ解析装置、ログ収集端末、ログサーバ
US6952779B1 (en) * 2002-10-01 2005-10-04 Gideon Cohen System and method for risk detection and analysis in a computer network
US8407798B1 (en) 2002-10-01 2013-03-26 Skybox Secutiry Inc. Method for simulation aided security event management
KR20040051731A (ko) 2002-12-11 2004-06-19 씨제이 주식회사 5’-크산틸산을 생산하는 미생물
US7043505B1 (en) 2003-01-28 2006-05-09 Unisys Corporation Method variation for collecting stability data from proprietary systems
US7567979B2 (en) * 2003-08-15 2009-07-28 Microsoft Corporation Expression-based web logger for usage and navigational behavior tracking
KR100542568B1 (ko) 2003-12-10 2006-01-11 씨제이 주식회사 5'-크산틸산을 생산하는 미생물
US7457671B2 (en) * 2004-09-30 2008-11-25 Rockwell Automation Technologies, Inc. Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution
JP4886188B2 (ja) * 2004-12-16 2012-02-29 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム及び記憶媒体
JP4681923B2 (ja) * 2005-04-01 2011-05-11 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム、記憶媒体
JP4038220B2 (ja) * 2005-09-27 2008-01-23 ソフトバンクモバイル株式会社 プログラム開発支援装置
US7930595B2 (en) * 2006-06-22 2011-04-19 International Business Machines Corporation Method and apparatus for analyzing error conditions in a massively parallel computer system by identifying anomalous nodes within a communicator set
US7673182B2 (en) * 2006-06-22 2010-03-02 International Business Machines Corporation Method and apparatus for obtaining stack traceback data for multiple computing nodes of a massively parallel computer system
US8255876B2 (en) 2006-07-28 2012-08-28 Apple Inc. Execution difference identification tool
US8201244B2 (en) * 2006-09-19 2012-06-12 Microsoft Corporation Automated malware signature generation
CN101154291B (zh) * 2006-09-29 2010-05-12 国际商业机器公司 图像数据压缩方法、图像显示方法及其相应装置
CN101192227B (zh) * 2006-11-30 2011-05-25 阿里巴巴集团控股有限公司 一种基于分布式计算网络的日志文件分析方法和系统
US7908593B2 (en) * 2007-01-04 2011-03-15 International Business Machines Corporation Technique for evaluating software performance online to support online tuning
US7661032B2 (en) * 2007-01-06 2010-02-09 International Business Machines Corporation Adjusting sliding window parameters in intelligent event archiving and failure analysis
KR101358750B1 (ko) * 2007-01-22 2014-02-06 삼성전자주식회사 관계형 데이터베이스를 이용한 프로그램 트레이스 방법
US8381193B2 (en) * 2007-09-06 2013-02-19 International Business Machines Corporation Apparatus, system, and method for visual log analysis
US8984441B2 (en) * 2007-12-06 2015-03-17 Sony Corporation Dynamic update of a user interface based on collected user interactions
US20090222646A1 (en) * 2008-02-28 2009-09-03 International Business Machines Corporation Method and apparatus for detecting processor behavior using instruction trace data
FR2928755B1 (fr) * 2008-03-14 2014-04-11 Sagem Securite Procede de securisation d'une execution d'un programme
US8732829B2 (en) * 2008-04-14 2014-05-20 Tdi Technologies, Inc. System and method for monitoring and securing a baseboard management controller
US9154386B2 (en) * 2008-06-06 2015-10-06 Tdi Technologies, Inc. Using metadata analysis for monitoring, alerting, and remediation
JP5345157B2 (ja) * 2008-06-13 2013-11-20 ジーブイビービー ホールディングス エス.エイ.アール.エル. ログ情報の表示方法および装置
JP2010039796A (ja) * 2008-08-06 2010-02-18 Fujitsu Ltd ロギング情報採取装置,ロギング情報採取方法およびロギング情報採取プログラム
US8260751B2 (en) * 2008-08-12 2012-09-04 Tdi Technologies, Inc. Log file time sequence stamping
JP5444673B2 (ja) * 2008-09-30 2014-03-19 富士通株式会社 ログ管理方法、ログ管理装置、ログ管理装置を備えた情報処理装置、及びプログラム
US20120240019A1 (en) 2011-03-17 2012-09-20 Ebay Inc. Method and system for tracking web link usage
JP6031735B2 (ja) * 2011-06-13 2016-11-24 ソニー株式会社 情報処理装置、情報処理方法およびコンピュータプログラム
JP5642725B2 (ja) * 2012-02-22 2014-12-17 日本電信電話株式会社 性能分析装置、性能分析方法及び性能分析プログラム
US20130249917A1 (en) * 2012-03-26 2013-09-26 Microsoft Corporation Profile data visualization
JP2016031733A (ja) * 2014-07-30 2016-03-07 富士通株式会社 推論容易性算出プログラム、装置、及び方法
JP6352753B2 (ja) * 2014-09-29 2018-07-04 株式会社東芝 グラフ表示装置、方法、及びプログラム
US9729671B2 (en) * 2014-10-05 2017-08-08 YScope Inc. Systems and processes for computer log analysis
JP6319271B2 (ja) * 2015-11-09 2018-05-09 横河電機株式会社 イベント解析装置、イベント解析システム、イベント解析方法、およびイベント解析プログラム
KR101690075B1 (ko) * 2015-12-18 2016-12-27 주식회사 한글과컴퓨터 로그기반 소스코드파일 이슈도 구현 방법
JP2017162135A (ja) * 2016-03-09 2017-09-14 三菱電機株式会社 情報処理装置、デバッグシステムおよびスタックオーバフロー検出方法
JP6559600B2 (ja) * 2016-03-17 2019-08-14 株式会社東芝 情報処理装置、情報処理プログラムおよび検査システム
JP6925433B2 (ja) * 2017-10-20 2021-08-25 三菱電機株式会社 データ検証装置、データ検証方法及びデータ検証プログラム
US11669613B2 (en) 2020-05-29 2023-06-06 EnSoft Corp. Method for analyzing and verifying software for safety and security
CN113157526B (zh) * 2021-04-25 2021-11-30 珠海市鸿瑞信息技术股份有限公司 一种基于电力监控系统的日志审计系统
US20240160518A1 (en) * 2022-11-15 2024-05-16 International Business Machines Corporation Dynamic registration of software components for diagnosis of root cause of failure
CN117076161B (zh) * 2023-10-16 2023-12-29 湖南于一科技有限公司 通过选取框选内容的方式获取和写入数据的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61262858A (ja) * 1985-05-15 1986-11-20 Mitsubishi Electric Corp プログラムデバツグ装置
JPH02272668A (ja) * 1989-04-13 1990-11-07 Nec Corp トランザクション実行時系列図表編集方式
JPH05134903A (ja) * 1991-11-13 1993-06-01 Nec Corp プログラム動作解析装置
JPH07253913A (ja) * 1994-03-16 1995-10-03 Fujitsu Ltd ログ解析プログラムの検証装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IBM Technical Disclosure Bulletin, Vol. 38, No. 3, März 1995, S. 67-69 *
KABITZSCH, Klaus und andere: Fehlersuche in verteilten Anwendungen, in: Elektronik 12/1995, S. 118-120, 122-124 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG80592A1 (en) * 1998-05-07 2001-05-22 Panasonic Singapore Lab Pte Lt Graphical microcontroller software development system flow chart engine
DE102005025265B4 (de) * 2005-06-02 2010-12-23 Audi Ag Verfahren und Vorrichtung zum Erfassen und Auswerten von Daten von zumindest einer Einheit in einem Kraftfahrzeug

Also Published As

Publication number Publication date
US5819094A (en) 1998-10-06
DE19640876C2 (de) 1998-11-12
KR100257470B1 (ko) 2000-06-01
JPH09259011A (ja) 1997-10-03
KR970066937A (ko) 1997-10-13
JP3472026B2 (ja) 2003-12-02

Similar Documents

Publication Publication Date Title
DE19640876C2 (de) Vorrichtung zur Protokolldatensammlung und -Analyse
Kieslich et al. Mouse-tracking: A practical guide to implementation and analysis 1
DE60033121T2 (de) Arbeitsplatz für klinische Forschung
DE19632854B4 (de) Kontext-Identifizierer verwendendes System und Verfahren für eine individuelle Menüanpassung in einem Fenster
DE19706512B4 (de) Echtzeit-Ereignisanordnung in einem elektronischen Ablaufdiagramm
DE69911266T2 (de) Computerprogrammprofiler
DE3911465C2 (de) Verfahren zur automatischen Konfiguration technischer Systeme aus Komponenten
DE3040245A1 (de) Blutzellenidentifikations- und -klassifiziereinrichtung
DE10002305A1 (de) Managementsystem für Schneidmaschinen
DE4234239A1 (de) Verfahren und system zur informationsverwaltung und -aufzeichnung
DE60111698T2 (de) Gerät zur Simulation von NC-Bearbeitung
JP2004174230A (ja) 時系列データの対話型注釈および測定機能を実行する方法と装置
JP2004148105A (ja) 自動マーカ・シーケンス作成を行う時系列データの対話型注釈および測定機能を実行する方法と装置
DE4108590A1 (de) System und verfahren zum benchmark-testen der arbeitsgeschwindigkeit eines computersystems
DE10047612B4 (de) Logikanalysator mit durch ein Signalformexemplar definierter Trigger-Spezifikation
DE102004010854A1 (de) Anzeigen von Netzsegmentdecodierinformationen in schematischer Form
DE10204657A1 (de) Nachrichtenanalyseeinrichtung und Verfahren zum Anzeigen von Nachrichten
EP0228480A1 (de) Verfahren und Einrichtung zur Analyse von Steuerprogrammen
DE10039538A1 (de) Vorrichtung und Methode zum Analysieren der Leistung eines Computerprogramms
EP1211099A2 (de) Verfahren zum digitalen Drucken von zusammengesetzten Dokumenten
DE10017551C2 (de) Verfahren zur zyklischen, interaktiven Bildanalyse sowie Computersystem und Computerprogramm zur Ausführung des Verfahrens
DE69814750T2 (de) Logikanalysator zur Erkennung der Übereinstimmung einer Abtastungsprobe mit einem Quellcodebefehl
DE10027822B4 (de) Unterdrückung von Datenabtastwerten
DE19615683A1 (de) Verfahren und Steuereinrichtung für eine graphische Steuerung von Abläufen in einem Netzwerkmanagementsystem
DE4100899A1 (de) System fuer die steuerung des ablaufs von testsequenzen in einer informationsverarbeitungsvorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee