-
Die
Erfindung betrifft im allgemeinen Verfahren und eine Vorrichtung
zur Quellcode-Fehlerbeseitigung und insbesondere die Fehlerbeseitigung
in Software-Programmen, die Ablaufverfolgungspunkte verwendet, die
unter Verwendung eines Fehlerbeseitigungswerkzeugs gesetzt werden.
-
Da
Computerprogramme zunehmend komplex werden, werden die Programme
höchstwahrscheinlich
Fehler oder „Mucken" enthalten, die die richtige
Leistung und Operation des Programms in seiner beabsichtigten Weise
verhindern. Das Programm wird dann fehlerbereinigt, was der Prozeß des Lokalisierens
und Korrigierens der Fehler im Programm ist. In komplexen Programmen
kann der Fehlerbeseitigungsprozeß ziemlich schwierig sein,
und folglich verwendet ein Verfahren zur Fehlerbeseitigung in Software
das Einsetzen von Unterbrechungspunkten an Stellen im Code. Die
Ausführung des
Quellcodeprogramms hält
dann immer an, wenn ein Unterbrechungspunkt angetroffen wird, um
es dem Programmierer zu gestatten, den Zustand bestimmter Variablen
und folglich das Verhalten des Programms am Unterbrechungspunkt
zu beobachten.
-
In
bestimmten Anwendungen kann das Stoppen des Programms an einem Unterbrechungspunkt für das System
ziemlich unterbrechend sein. So stoppt zum Beispiel in einem großen gemeinsam
genutzten Datenspeicherteilsystem, wie der Produktreihe EMC Symmetrix,
das Anhalten des Programms tatsächlich
das gesamte Datenlesen, Schreiben und den Zwischenspeicherprozeß. In diesem
Fall kann nicht nur der Datenfluß in der Größenordnung von mehreren Minuten
oder mehr unterbrochen werden, sondern es kann das Ver halten des
Systems, und folglich die Analyse eines Fehlers, vollständig durch den
Systemstopp maskiert werden, da zum Beispiel andere externe Teilsysteme
dann in einen Wiederherstellungsmodus gehen.
-
Es
ist bekannt, Daten, die Ablaufverfolgungsereignisse betreffen, in
Pufferspeichern in der Symmetrix-Vorrichtung zu späteren Analyse
zu speichern. Dieses Verfahren hat den Vorteil, das System nicht
zu unterbrechen, während
gleichzeitig, falls notwendig, zur späteren Überprüfung und Analyse Daten gesammelt
werden. Ein solches System ermöglicht
es dem Benutzer typischerweise nicht, dynamisch die Systemsoftware
und Ablaufverfolgungspunkte abzuändern
oder zu tauschen, oder gleichzeitig die Systemsoftware zu analysieren,
wenn das Programm weiterläuft.
-
Als
Ergebnis kann erfindungsgemäß ein Fehlerbeseitigungssystemwerkzeug
und Verfahren bereitgestellt werden, die eine unmittelbare und bestimmte
Interaktion online mit dem Software-Programm ermöglichen, das zum Beispiel in
einen großen
gemeinsam genutzten Datenspeichersystem arbeitet. Zusätzlich stellt
das Verfahren und die Vorrichtung der vorliegenden Erfindung vorteilhafterweise einen
Online-Zugriff bereit, um Fehler im System zu beseitigen, während gleichzeitig
der Betrieb des Systems nicht merklich unterbrochen wird, um jeden Fehler
zu maskieren, der in der Operation des Quellcodes auftritt.
-
In
Andreas Danuser u. a.: „Was
geschieht wann wo im Programm?",
Technische Rundschau, B. 82, Nr. 35, 31. August 1990, Seiten 48–57, Hallwag Verlag,
Bern, CH, wird ein nicht unterbrechendes Verfahren zur Ablaufverfolgung
eines laufenden Programms beschrieben, das das Instrumentarium des Quellcodes
und den Neuaufbau und das Laden des binären ausführbaren Codes benötigt.
-
Die
Erfindung wird durch die Ansprüche
definiert.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zur
Fehlerbeseitigung in Software bereitgestellt, die in einer Zielmaschine
ausgeführt
wird, das aufweist: Definieren in einer Hostmaschine von Ablaufverfolgungspunktstellen
und Variablen, die durch die Software erfaßt werden sollen, Senden der
Ablaufverfolgungspunktstellen und Variablen an die Zielmaschine,
Ausführen
eines Stumpf-Programms in der Zielmaschine, Sammeln unter Verwendung
des Stumpf-Programms von Daten, die die Variablen repräsentieren,
die durch die Hostmaschine ausgewählt werden, wenn ein Ablaufverfolgungspunkt
erreicht wird, und Senden der gesammelten Daten online an die Hostmaschine,
ohne den Betrieb der Zielmaschine zu stoppen.
-
Gemäß einem
zweiten Aspekt der Erfindung wird eine Vorrichtung zur Fehlerbeseitigung
in Software bereitgestellt, die in einer Zielmaschine ausgeführt wird,
die aufweist: eine Einrichtung zum Definieren in einer Hostmaschine
von Ablaufverfolgungspunktstellen und Variablen, die durch die Software
erfaßt
werden sollen, eine Einrichtung zum Senden der Ablaufverfolgungspunktstellen
und Variablen an die Zielmaschine, eine Einrichtung zur Ausführung eines Stumpf-Programms
in der Zielmaschine, eine Einrichtung zur Sammlung unter Verwendung
des Stumpf-Programms von Daten, die die Variablen repräsentieren,
die durch die Hostmaschine ausgewählt werden, wenn ein Ablaufverfolgungspunkt
einbezogen wird, und eine Einrichtung zum Senden der gesammelten
Daten online an die Hostmaschine, ohne den Betrieb der Zielmaschine
zu stoppen.
-
Die
Erfindung betrifft ein Verfahren und eine Vorrichtung zur Online-Fehlerbeseitigung
in Software, die auf einer Zielmaschine ausgeführt wird. Das Verfahren weist
auf: Definieren von Ablaufverfolgungspunktstellen (Adressen) und
Daten und Variablen, die an diesen Ablaufverfolgungspunkten in der Software
auf der Hostmaschine gesammelt werden sollen; Senden der Ablaufverfolgungspunktstellen und
Variablen, zum Beispiel in ei nem Fehlerbeseitigungsskript, an die
Zielmaschine, Unterhalten eines Stumpf-Programms in der Zielmaschine,
um das Fehlerbeseitigungsskript auszuführen, Sammeln der Daten und
Variablen an den vordefinierten Ablaufverfolgungspunkten unter Verwendung
des Stumpf-Programms, wobei die Daten Variablen repräsentieren, die
durch das Hostmaschinen-Fehlerbeseitigungsskript identifiziert werden,
wenn ein Ablaufverfolgungspunkt erreicht wird, und Senden der gesammelten
Daten online bei der Anforderung der Hostmaschine, ohne den Betrieb
der Zielmaschine merklich zu unterbrechen oder zu stoppen. In einer
besonderen Ausführungsform
ist die Zielmaschine ein Plattenlaufwerkskontroller.
-
In
anderen Aspekten kann die Erfindung aufweisen: Bestimmen in der
Zielmaschine unter Verwendung einer Ausdrucksauswertung von Stellen
für jede
Variable, für
die Daten gesammelt werden sollen, wenn ein Ablaufverfolgungspunkt
erreicht und durchlaufen wird, wobei die Variablen ursprünglich durch
das Hostmaschinen-Fehlerbeseitigungsskript in der Form numerischer
Ausdrücke
aus einer Compiler-Symboltabelle spezifiziert werden. In einem anderen
Aspekt können
die Ablaufverfolgungspunkte automatisch auf der Hostmaschine gesetzt
werden, und die Variablen werden automatisch in der Hostmaschine
identifiziert.
-
In
einem anderen Aspekt werden die gesammelten Daten vorzugsweise zu
einem Puffer in der Zielmaschine zur Speicherung geleitet; und wenn
der Puffer überfließt, durchlaufen
die Daten den Puffer zyklisch, wodurch die alten Daten gelöscht werden und
sie durch neue Daten ersetzt werden. Auf diese Weise werden nur
die letzten Datenrahmen im Puffer gehalten.
-
In
einem anderen bevorzugten Aspekt sorgt die Vorrichtung der Erfindung
für eine
Fehlerbeseitigungssoftware (den Stumpf), die in einer Zielmaschine
ausgeführt
wird, und weist auf: eine Hostmaschine, Elemente zum Definieren
in der Hostmaschine von Ablaufverfolgungspunktstellen und Variablen,
die durch die Software gesammelt werden sollen, einen Schaltungskomplex
zum Senden der Ablaufverfolgungspunktstellen und Variablen an die
Zielmaschine, einen Schaltungskomplex zur Ausführung eines Stumpf-Programms
in der Zielmaschine, einen Schaltungskomplex zur Sammlung unter
Verwendung des Stumpf-Programms von Daten, die die Variablen repräsentieren,
die durch den Benutzer auf der Hostmaschine ausgewählt werden.
Wenn ein Ablaufverfolgungspunkt erreicht wird, sendet der Schaltungskomplex
die gesammelten Daten online zur Hostmaschine, ohne den Betrieb
der Zielmaschine zu stoppen.
-
In
noch einem anderen bevorzugten Aspekt der Erfindung ist die Vorrichtung
eine computerimplementierte Vorrichtung zur Fehlerbeseitigung von
einem Hostcomputer von Software, die in einer Zielmaschine ausgeführt wird.
Die Erfindung sorgt dafür, daß Softwaremedien
sowohl in der Zielmaschine als auch dem Hostcomputer die Schritte
implementieren: Definieren im Hostcomputer von Ablaufverfolgungspunktstellen
und Variablen, die durch die Software auf der Zielmaschine gesammelt
werden sollen, Senden der Ablaufverfolgungspunktstellen und Variablen an
die Zielmaschine, Ausführen
eines Stumpf-Programms in der Zielmaschine, Sammeln unter Verwendung
des Stumpf-Programms von Daten, die die Variablen repräsentieren,
die durch den Benutzer ausgewählt
werden, zum Beispiel auf dem Hostcomputer, wenn ein Ablaufverfolgungspunkt
erreicht und durchlaufen wird, und Liefern der gesammelten Daten
online an den Hostcomputer, ohne den Betrieb der Zielmaschine zu
stoppen.
-
Das
Verfahren und die Vorrichtung der Erfindung ermöglichen folglich vorteilhafterweise
eine Fehlerbeseitigung des Zielcomputers oder Plattenkontrollers
mit einer minimalen Störung
des Betriebs der Zielmaschine.
-
Andere
Merkmale und Vorteile der Erfindung werden einem auf diesem Gebiet
geübten
aus der folgenden Beschreibung der Erfindung deutlich werden, die
zusammen mit den Zeichnungen vorgenommen wird. Es zeigen
-
1 ein
allgemeines Blockdiagramm, das das System darstellt, in dem die
Erfindung insbesondere Anwendung findet;
-
2 ein
Blockdiagramm, das eine typische erfindungsgemäße Umgebung detaillierter darstellt;
-
3 ein
schematisches Blockdiagramm, das eine typische erfindungsgemäße Operation
darstellt; und
-
4 einen
Ablaufplan, der die Operation einer erfindungsgemäßen Ausführungsform
darstellt.
-
Auf 1 bezugnehmend,
betrifft eine bevorzugte Ausführungsform
der Erfindung ein Computersystem, wobei mindestens ein und wahrscheinlicher
mehrere Hosts 12a, 12b, ..., 12n mit
einem Speichermodulsystem 14, wie dem Plattenanordnungsspeichersystem
EMC Symmetrix verbunden sind. Das Speichermodul 14 dient
als die Schnittstelle zwischen den Hostcomputern und mehreren Massenspeichervorrichtungen,
wie zum Beispiel Plattenlaufwerken 16a, 16b, ..., 16k.
Daten, die durch den Host geschrieben oder aus den Plattenlaufwerkselementen
gelesen werden, gehen durch das Speichermodulsystem, das als ein
Zweiweg-Kommunikationsweg
mit wesentlichen Fähigkeiten
dient. Zum Beispiel werden in manchen Systemen die Daten aus dem
Host einheitlich über
alle oder einige der Plattenspeichervorrichtungen verteilt; und
in anderen Systemen werden die Daten vom Host auf den Plattenlaufwerken 16 gemäß einem
RAID-Protokoll gespeichert. In noch anderen Ausführungsformen der Erfindung
können
alle Daten von einem besonderen Host auf einem einzelnen Plattenlaufwerk
oder in unterschiedlichen logischen Datenträgern desselben oder unterschiedlicher
Plattenlaufwerke gespeichert werden, abhängig von der Beschaffenheit
und der Quelle der Daten und des Hosts. Ein Hostcomputer kann außerdem Daten
von einem oder mehreren der Plattenlaufwerkseinheiten lesen.
-
Wenn
ein Problem auftritt, das die Leistung des Systems beeinträchtigt,
zum Beispiel ein nicht behebbarer Software- Fehler, eine Abnahme des Durchsatzes
oder „Mucken" in neu installierter
Software, kann das Problem entweder im Host, dem Speichermodul den
Plattenlaufwerkselementen oder in deren Kombinationen auftreten.
Um das Problem zu analysieren und zu korrigieren, ist es wünschenswert,
den/die Computer des Kunden oder den Kontroller nicht herunterzufahren,
wodurch sie abgetrennt werden und vielleicht die Fähigkeit
des Kunden, Geschäfte
zu machen, beträchtlich
beeinträchtigt
wird. Erfindungsgemäß werden
daher, wenn zum Beispiel eine Software-Mucke verdächtigt wird,
oder um Systemparameter an ausgewählten Ereigniszeiten des Systembetriebs
zu lesen, Ablaufverfolgungspunkte in die Software eingesetzt und
Daten gesammelt, im wesentlichen ohne dem System des Kunden irgendeine
bedeutende Leistungsverschlechterung aufzuerlegen. Wie im folgenden
beschrieben wird, können
dann Daten entfernt zur Analyse gesammelt werden, ohne den Systembetrieb
herunterzufahren, anzuhalten oder anderweitig wesentlich zu stören.
-
Auf 2 bezugnehmend,
ist in einer besonderen erfindungsgemäßen Ausführungsform der Plattenkontroller
so gestaltet, daß er
mehrere Kanalleiteinrichtungen 30 aufweist (die am häufigsten
als SCSI-Adapter bezeichnet werden, wenn sie gemäß einem SCSI-Protokoll arbeiten),
die mit einem globalen Speicher 32 verbunden sind, durch
den alle Daten und Befehle fließen.
Der globale Speicher 32 ist mit mehreren Plattenleiteinrichtungen 34 verbunden (die
ebenfalls typischerweise SCSI-Adapter sind), die mit den Plattentreibern 16 verbunden
sind. Gemäß dieser
besonderen Ausführungsform
der Erfindung arbeitet jede Kanalleiteinrichtung über Kanäle 36 und 38 unter
Verwendung eines SCSI-Protokolls. Jede Kanalleiteinrichtung 30 kann
mit einem oder mehreren Hostcomputer über Busse 36 verbunden
sein (typischerweise ein Host I/O-Kontroller pro Port 40).
In der dargestellten Ausführungsform
ist es der Software-Betrieb, der überwacht und analysiert wird.
-
Nun
auf 3 bezugnehmend, befindet sich in einer schematischen
Darstellung die Hostmaschine 400 typischerweise an einem
Ort, der von den Zielmaschinen 402 entfernt ist. Der Host 400 und
das Ziel 402 kommunizieren über Modems 404, 406 und eine
Kommunikationsverbindung 408. Die Hostmaschine enthält ein Quellenebenen-Fehlersuchprogramm 410,
das Zugriff auf einen Speicher 412 hat, der Quelldateien 414 und
die kompilierte Symboltabelle 416 und die binäre ausführbare Datei 418 für ein Programm
enthält,
das in der Zielmaschine ausgeführt
wird. Typischerweise enthält
der Speicher 412 viele solche Ansammlungen von Dateien
für unterschiedliche
Versionen von Programmen, die auf unterschiedlichen Zielmaschinen
ausgeführt
werden. Die binären
Dateien sind mit den binären
ausführbaren
Programmdateien auf der Zielmaschine identisch.
-
Das
Quellenebenen-Fehlersuchprogramm, das die Symboltabelle 416 verwendet,
identifiziert unter der Kontrolle entweder des Benutzers oder eines
automatischen Ablaufverfolgungspunkt- Programms die Adressen, an
denen Ablaufverfolgungspunkte in das ausführbare Programm eingesetzt
werden sollen, das auf der Zielmaschine läuft, ebenso wie die Adressen
für die
Variablen (oder numerischen Ausdrücke, um solche Adressen zu
bestimmen). Diese Daten werden über
die Kommunikationsverbindung 408 zur Zielmaschine gesendet.
Auf der Zielmaschine verwendet das Stumpf-Programm diese Daten und
setzt Fangstellen an den Ablaufverfolgungspunktadressen ein, die
bewirken, daß an
jedem Ablaufverfolgungspunkt die notwendigen Daten gesammelt und
in einem Ablaufverfolgungspuffer 420 gespeichert werden.
Das Stumpf-Programm 422 ist in der Zielmaschine als Teil
ihrer Betriebsprogramme enthalten. So wird im allgemeinen Betrieb
ein Programm kompiliert und verknüpft und in binär ausführbarer
Form in die Zielmaschine geladen, während es in binären Dateien 418 und
Symboldateien 416 gespeichert ist. Ein Benutzer oder das
System definiert dann die Ablaufverfolgungspunkte und die Daten,
die gesammelt werden sollen, und sendet diese Einstellungsinformation
an die Zielmaschine. Die passenden Daten werden dann jedesmal gesammelt,
wenn ein Ablaufverfolgungspunkt getroffen wird, und das Ablaufverfolgungsprogramm
wird beendet, wie im folgenden beschrieben. Es wird dann eine „Absturz"-Analyse an allen oder einem Teil der Daten
durchgeführt,
die im Ablaufverfolgungspuffer gesammelt sind.
-
Nun
auf 4 bezugnehmend, wird im Betrieb ein Quellenebenen-Fehlerbeseitigungsprogramm
auf dem Hostcomputer eingeleitet, der typischerweise vom Ort der
Zielmaschine entfernt ist. Dies wird bei 98 angegeben.
Das Fehlerbeseitigungsprogramm öffnet
unter Benutzerkontrolle ein Quellcode-Fenster auf dem Hostcomputer,
das heißt, ein
Fenster auf einem Anzeigebildschirm, durch das eine Fehlersuchinformation
erzeugt wird. Dies wird bei Schritt 100 angegeben. Der
Benutzer identifiziert dann ein Programm, das auf der Zielmaschine
ausgeführt
wird, hier das Kontrollersystem 14, und das Fehlersuchprogramm
verifiziert, daß es
dieselbe Version des Programms aufweist, wie jenes, das auf der Zielmaschine
ausgeführt
wird. Dies wird bei 101 angegeben. Der Benutzer setzt entweder automatisch oder
manuell eine Reihe von Ablaufverfolgungspunkten im Programm, in
dem Fehler beseitigt werden sollen. Dies wird bei Schritt 102 angegeben.
Das manuelle Setzen der Ablaufverfolgungspunkte wird typischerweise
auf der Quellcodeebene im Programm durchgeführt. Zusammen mit jedem Ablaufverfolgungspunkt
identifiziert der Benutzer entweder manuell oder automatisch die
Variablen, für
die Daten gesammelt werden, jedesmal, wenn der Ablaufverfolgungspunkt
erreicht oder „getroffen" wird. Wenn die Ablaufverfolgungspunkte
automatisch gesetzt werden, kann ein Verfahren eingesetzt werden,
wie jenes, das in der mitanhängigen
US-Patentanmeldung Nr. 09/069,608, eingereicht am 29. April 1998,
mit dem Titel „Source
code debugging tool application" beschrieben
wird. Sobald die Fehlerbeseitungseinstellung durch den Benutzer beendet
worden ist, sendet der Host an die Zielmaschine die Stelle der Ablaufverfolgungspunkte
im ausführbaren
Code, der auf der Zielmaschine vorhanden ist. Das Format der übertragenen
Daten läßt es zu,
daß numerische
Ausdrücke
gesendet werden, aus der die Stelle der gewünschten Variablen auf der Zielmaschine
abgeleitet werden kann. Dies wird bei 103 angegeben. Typischerweise
werden die Adressen und Ausdrücke
aus den Variablen abgeleitet, die in der Symboltabelle gefunden
werden, die für
gewöhnlich
durch den Compiler bei der Erzeugung des ausführbaren Codes der Programmtabelle
erzeugt und gespeichert wird. Die Symboltabelle steht auf der Hostmaschine
zur Verfügung.
Diese Adressen- und Ausdrucksinformation wird bei 104 an
die Zielmaschine (als Fehlerbeseitigungs-Einstelldaten) übertragen,
zur Verwendung im Betrieb durch das Stumpf-Programm dort. Das Ziel- und das Hostsystem
können
zum Beispiel über
das Internet, durch ein Modem oder einen Hochgeschwindigkeits-Kommunikationsbus
verbunden sein. Auf der Zielmaschine arbeitet der sogenannte „Stumpf", um die Fehlerbeseitigungs-Einstelldaten bei 105 zu
implementieren, und sammelt die relevanten Daten während der
Operation der Software, in der Fehler beseitigt werden sollen. Diesbezüglich setzt
das Stumpf-Programm Fangstellen an den Ablaufverfolgungspunktadressen
ein, die durch das Hostsystem identifiziert werden, und sammelt
die erforderlichen Daten, jedesmal wenn eine „Fangstelle" erreicht oder getroffen
wird.
-
Wenn
das Programm, in dem auf der Zielmaschine Fehler beseitigt werden
sollen, fortschreitet, arbeitet der Stumpf an jeder Ablaufverfolgungspunktadresse,
um den Code einzufangen und die erforderlichen Daten zu sammeln.
Dies wird bei 110 angegeben. Wenn der Ablaufverfolgungspunkt
angetroffen worden ist, arbeitet der Stumpf, um die Daten vom Ziel
zu erfassen, indem die Ausdrücke
ausgewertet werden, die durch den Host geliefert werden (die physikalische
Adresse der Variable kann sich von Zeit zu Zeit ändern), und die erfaßten Daten
in einem Zielpuffer zu speichern. Dies wird bei 112 angegeben. Wenn
sich der Zielpuffer füllt,
wird in dieser dargestellten Ausführungsform der Erfindung der
Puffer zyklisch durchlaufen, so daß alte und früher gesammelte
Daten überschrieben
werden.
-
Der
Stumpf arbeitet folglich, um die Variablendaten zu sammeln, die
in Fehlerbeseitigungseinstellung spezifiziert sind, obwohl er auf
dem numerischen oder Ausdrucksniveau spezifiziert ist. Das heißt, der
Stumpf weist einen Ausdrucksauswerter auf, der im Format der bevorzugten
Ausführungsform der
Erfindung in umgekehrter polnischer Schreibweise arbeitet, was es
dem Stumpf ermöglicht,
die Adresse der Variable, oder der Variablen, die gesammelt werden
sollen, zu bestimmen, obwohl sich die Adresse der Variablen im Programm
von Zeit zu Zeit ändern
kann.
-
Sobald
alle Programmvariablen gesammelt worden sind, ein Durchlaufzählwert für einen
Ablaufverfolgungspunkt erreicht worden ist, oder eine Zeit, die
durch das Host- oder Zielsystem spezifiziert wird, verstrichen ist,
oder wenn ein benutzererzeugtes Zugangskommando durch das Zielsystem
empfangen wird, können
die gesammelten und gespeicherten Daten als ganzes oder teilweise
abgeladen werden, wie durch die Hostmaschine spezifiziert, ohne
den Betrieb der Zielmaschine oder des überwachten Programms wesentlich
zu unterbrechen, das heißt,
während
die Zielmaschine weiter arbeitet. In einem besonderen Aspekt wird,
wenn der Durchlaufzählwert für einen
Ablaufverfolgungspunkt erreicht wird, die Sammlung der Daten automatisch
stoppen und die Daten werden dem Host zur Verfügung gestellt, entweder automatisch
oder unter Benutzerkontrolle am Host. Zum Beispiel werden für einen
Durchlaufzählwert
von eins Daten gesammelt, wenn ein bestimmter Ablaufverfolgungspunkt
zum ersten Mal erreicht wird, und können dem Host sofort zur Überprüfung und
Analyse zur Verfügung
gestellt werden. Es sollte auch klar sein, daß die gesammelten Daten zum
Host zurückgeschickt
werden können,
während
zusätzliche
Daten gesammelt werden. Dies wird bei Schritt 120 angegeben.
Der Abladeprozeß kann
durch den Host implementiert und gesteuert werden, wie bei Schritt 130 angegeben.
In einer besonderen Ausführungsform
sendet der Host eine Suchanforderung an das Ziel, um ein begrenztes,
wohldefiniertes Datenherunterladen zu erhalten.
-
Es
ist wichtig zu beachten, daß jedesmal, wenn
ein Ablaufverfolgungspunkt erreicht wird, das Programm eingefangen
wird und die passenden Variablen gesammelt und gespeichert werden.
Dies braucht zum Beispiel etwa eine Millisekunde. Dies ist eine
bedeutende Verbesserung gegenüber
zum Beispiel jenen Systemen, die beim Antreffen eines Unterbrechungspunkts
das Programm, das überwacht wird,
veranlassen zu stoppen, wobei es auf eine Benutzereingabe wartet,
was Unterbrechungen von einer, zehn oder mehr Minuten benötigt. Als
Ergebnis ähnelt
der Betrieb der Zielmaschine sehr viel mehr jenem der Maschine ohne
die Ablaufverfolgungspunkte, die implementiert sind. Natürlich muß die Version der
Software in der Zielmaschine identisch mit jener sein, die dem Hostcomputer
bekannt ist.