Testhilfeprogramm

Testhilfeprogramm- oder Beseitigen-Werkzeug ist ein Computerprogramm, das verwendet wird, um andere Programme (das "Ziel"-Programm) zu prüfen und bei ihnen die Fehler zu beseitigen. Der zu untersuchende Code könnte auf einem Befehlssatz-Simulator (ISS), eine Technik wechselweise laufen, die Große Macht in seiner Fähigkeit erlaubt zu hinken, wenn auf spezifische Bedingungen gestoßen wird, aber der normalerweise etwas langsamer sein wird als Durchführung des Codes direkt auf dem passenden (oder dasselbe) Verarbeiter. Einige Testhilfeprogramme bieten zwei Verfahrensweisen — volle oder teilweise Simulation an — um diesen Einfluss zu beschränken.

Ein "Unfall" geschieht, wenn das Programm wegen eines Programmierprogrammfehlers nicht normalerweise weitergehen kann. Zum Beispiel könnte das Programm versucht haben, eine Instruktion zu verwenden, die auf der jetzigen Version der Zentraleinheit nicht verfügbar ist, oder hat versucht, auf nicht verfügbares oder geschütztes Gedächtnis zuzugreifen. Wenn das Programm "zertrümmert" oder eine Voreinstellungsbedingung erreicht, zeigt das Testhilfeprogramm normalerweise die Position im ursprünglichen Code, wenn es ein Quellniveau-Testhilfeprogramm oder symbolisches Testhilfeprogramm ist, das allgemein jetzt in einheitlichen Entwicklungsumgebungen gesehen ist. Wenn es ein auf niedriger Stufe Testhilfeprogramm oder ein maschinensprachiges Testhilfeprogramm ist, zeigt es die Linie in der Zerlegung (wenn es auch Onlinezugriff zum ursprünglichen Quellcode nicht hat und die passende Abteilung des Codes vom Zusammenbau oder der Kompilation zeigen kann).

Eigenschaften

Gewöhnlich bieten Testhilfeprogramme auch hoch entwickeltere Funktionen wie das Laufen eines Programms nach und nach (einzelnes Treten oder Programm-Zeichentrickfilm), das Aufhören (des Brechens) an (das Programm Pause machend, um den aktuellen Staat zu untersuchen) an einem Ereignis oder angegebener Instruktion mittels eines Unterbrechungspunkts, und die Werte von Variablen verfolgend. Einige Testhilfeprogramme sind in der Lage, Programm-Staat zu modifizieren, während er läuft. Es kann auch möglich sein, Ausführung an einer verschiedenen Position im Programm fortzusetzen, um einen Unfall oder logischen Fehler zu umgehen.

Dieselbe Funktionalität, die ein Testhilfeprogramm nützlich macht, um Programmfehler zu beseitigen, erlaubt ihm, als ein Softwareknacken-Werkzeug verwendet zu werden, um Kopie-Schutz, Digitalrecht-Management und anderen Softwareschutzeigenschaften auszuweichen. Es macht es häufig auch nützlich als ein allgemeines Überprüfungswerkzeug, Testeinschluss und Leistung Analysator besonders, wenn Instruktionspfad-Längen gezeigt werden.

Die meisten Hauptströmungsbeseitigen-Motoren, wie gdb und dbx, stellen Konsole-basierte Befehl-Linienschnittstellen zur Verfügung. Testhilfeprogramm-Vorderenden sind populäre Erweiterungen auf Testhilfeprogramm-Motoren, die IDE Integration, Programm-Zeichentrickfilm und Vergegenwärtigungseigenschaften zur Verfügung stellen. Einige frühe Großrechner-Testhilfeprogramme wie Oliver und SIMON haben diese dieselbe Funktionalität für IBM System/360 und spätere Betriebssysteme schon in den 1970er Jahren zur Verfügung gestellt.

Sprachabhängigkeit

Einige Testhilfeprogramme funktionieren auf einer einzelnen spezifischen Sprache, während andere vielfache Sprachen durchsichtig behandeln können. Zum Beispiel, wenn das Hauptzielprogramm im COBOL geschrieben wird, aber Zusammenbau-Sprachunterprogramme und PL/1 Unterprogramme nennt, kann das Testhilfeprogramm Weisen dynamisch schalten müssen, um die Änderungen in der Sprache anzupassen, wie sie vorkommen.

Speicherschutz

Einige Testhilfeprogramme vereinigen auch Speicherschutz, um Lagerungsübertretungen wie Pufferüberschwemmung zu vermeiden. Das kann in Transaktionsverarbeitungsumgebungen äußerst wichtig sein, wo Gedächtnis vom Gedächtnis 'Lachen' auf einer Aufgabe durch die Aufgabe-Basis dynamisch zugeteilt wird.

Hardware-Unterstützung für das Beseitigen

Die meisten modernen Mikroprozessoren haben mindestens eine dieser Eigenschaften in ihrem Zentraleinheitsdesign, um das Beseitigen leichter zu machen:

  • Hardware-Unterstützung für das einzelne Treten ein Programm, wie die Falle-Fahne.
  • Ein Befehlssatz, der den Virtualisierungsanforderungen von Popek und Goldberg entspricht, macht es leichter, Testhilfeprogramm-Software zu schreiben, die auf derselben Zentraleinheit wie die Software läuft, die die Fehler wird beseitigt; solch eine Zentraleinheit kann die inneren Schleifen des Programms unter dem Test mit Höchstgeschwindigkeit durchführen, und noch unter der Testhilfeprogramm-Kontrolle bleiben.
  • Programmierung im System erlaubt einem Außenhardware-Testhilfeprogramm, ein System unter dem Test (zum Beispiel wiederzuprogrammieren, beitragend oder Instruktionsunterbrechungspunkte entfernend). Viele Systeme mit solcher ISP-Unterstützung haben auch andere Hardware-Fehlersuchprogramm-Unterstützung.
  • Die Hardware-Unterstützung für den Code und die Datenunterbrechungspunkte, wie Adresse comparators und Daten schätzt comparators oder, mit beträchtlich mehr Arbeit beteiligt, Seitenschuld-Hardware.
  • der Zugang zur Hardware beseitigt bei Schnittstellen wie diejenigen auf ARM-Architektur-Verarbeitern oder dem Verwenden des Verknüpfungsbefehlssatzes die Fehler. Verarbeiter, die in eingebetteten Systemen normalerweise verwendet sind, haben umfassende JTAG-Fehlersuchprogramm-Unterstützung.
  • Mikrokontrolleure mit nur sechs Nadeln müssen niedrige Nadel-Zählung verwenden wechselt JTAG, wie BDM, Spy-Bi-Wire oder debugWIRE auf dem Atmel AVR aus. DebugWIRE verwendet zum Beispiel bidirektionale Nachrichtenübermittlung auf der RÜCKSETZEN-Nadel.

Testhilfeprogramm-Vorderenden

Einige der fähigsten und populären Testhilfeprogramme führen nur eine einfache Befehl-Linienschnittstelle (CLI) — häufig durch, um Beweglichkeit zu maximieren und Quellenverbrauch zu minimieren. Entwickler denken normalerweise, über eine grafische Benutzerschnittstelle (GUI) leichter und produktiver die Fehler zu beseitigen. Das ist der Grund seit Sehvorderenden, die Benutzern erlauben, zu kontrollieren und unterwürfig CLI-nur Testhilfeprogramme über die grafische Benutzerschnittstelle zu kontrollieren. Einige GUI Testhilfeprogramm-Vorderenden werden entworfen, um mit einer Vielfalt von CLI-nur Testhilfeprogrammen vereinbar zu sein, während andere an einem spezifischem Testhilfeprogramm ins Visier genommen werden.

Liste von Testhilfeprogrammen

Einige weit verwendete Testhilfeprogramme sind

Siehe auch

  • Vergleich von Testhilfeprogrammen
  • Kernmüllkippe
  • Kerntesthilfeprogramm
  • Liste von Werkzeugen für die statische Codeanalyse
  • Speichertesthilfeprogramm
  • (Computerprogrammierung) im Profil darstellend
  • Jonathan B. Rosenberg, John Wiley & Sons, internationale Standardbuchnummer 0-471-14966-7

Links


Gans / Französischer Kuss (Film)
Impressum & Datenschutz