• IT-Karriere:
  • Services:

Record and Replay: Aufnahmen debuggen statt Echtzeit-Programme

Eine fehlerhafte Ausführung aufnehmen, dann sooft wie nötig das Gleiche abspielen und debuggen: Das soll RR unter Linux leisten. Bisher funktioniert das Mozilla-Projekt aber nur bei Fehlern im Firefox richtig.

Artikel veröffentlicht am ,
RR wird bisher nur für Firefox genutzt.
RR wird bisher nur für Firefox genutzt. (Bild: Mozilla)

Record and Replay (RR) - aufnehmen und wieder abspielen - lautet das Konzept und der Name eines Debugging-Tools, das Mozilla-Entwickler für die Fehlerbehebung bei Firefox erstellt haben. Damit soll das nichtdeterministische Ausführen eines Programms aufgezeichnet werden, beim anschließenden Abspielen werden die immer wieder gleichen Prozesse, Register- und Speicherinhalte zum Beheben der Fehler benutzt - sooft der Entwickler dies möchte.

 
Video: Demo von RR - Mozilla

Erweiterung zu GDB

Stellenmarkt
  1. Swyx Solutions GmbH, Dortmund
  2. SONAX GmbH, Neuburg a.d. Donau

Wird eine Anwendung mit RR ausgeführt, zeichnet das Werkzeug den gesamten Prozessbaum unter Linux auf und speichert ihn auf der Festplatte. Neben den Prozessen, Subprozessen und Threads zeichnet RR auch Adressräume, deren Inhalte, verwendete Register oder auch die für Systemaufrufe genutzten Daten auf.

Über eine Schnittstelle an den Gnu-Debugger-Server lässt sich das Programm wie gewohnt untersuchen. Allerdings wird immer die erstellte Aufnahme gestartet, statt wie sonst üblich eine neue Instanz des Programms. Dadurch sind etwa Speicherzuweisungen in jedem Durchlauf gleich, wodurch die Speicheradressen vergleichsweise einfach überprüft werden können.

Hilfreich mit Einschränkungen

Bei der Entwicklung von RR legten die Programmierer vor allem Wert darauf, dass das Werkzeug die Kopie nicht viel langsamer ausführt als die tatsächliche Anwendung. Allerdings gibt Robert O'Callahan zu, dass Mozilla aufgegeben habe, die Leistung in diesem Bereich zu verbessern, da die Beteiligten mit der bisherigen Geschwindigkeit zufrieden seien.

Das Team hält es auch für sehr wahrscheinlich, dass sich RR für eine Vielzahl unterschiedlicher C- und C++-Projekte eigne, auch wenn es bisher nur für das Debuggen von Firefox verwendet worden sei. Mozilla sei aber offen für Rückmeldungen oder auch Beiträge zum Code, insbesondere für Hinweise auf oder auch die Bereinigung von Fehlern in RR.

Bis jetzt emuliert RR nur einen Einkernrechner, so dass auf Parallelisierung ausgelegte Programme erheblich verlangsamt werden. Ebenso werden derzeit nur 32-Bit-Anwendungen der x86-Architektur unterstützt und auch Prozesse, die mit Shared-Memory arbeiten, lassen sich nicht zufriedenstellend verwenden.

Das Entwickler-Team hofft aber, dass künftig viele Projekte RR benutzten und zum Ausbau des Programms beitragen. Der Quellcode von RR steht zum Download über Github bereit, Pakete für Fedora oder Ubuntu stehen ebenfalls bereit. Bis jetzt funktioniert RR wegen spezieller Anpassungen nur unter Intels Sandy-Bridge- und Ivy-Bridge-Architekturen, die Unterstützung für Haswell soll aber noch folgen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Mobile-Angebote
  1. (u. a. Apple iPhone 11 Pro Max 256GB 6,5 Zoll Super Retina XDR OLED für 929,98€)
  2. 149,90€ (Bestpreis!)
  3. 214,90€ (Bestpreis!)
  4. (u. a. moto g8 power 64GB 6,4 Zoll Max Vision HD+ für 159,99€)

Marenz 02. Apr 2014

Und was wenn der Bug aufgrund eines bestimmten IO (Netzwerk, Disk, User Eingabe...

Jaleks 27. Mär 2014

Setzte sich dieses possierliche Progrämmchen durch, würde uns dies ja nun endlich die...


Folgen Sie uns
       


Geforce RTX 3070 - Test

Die Grafikkarte liegt etwa gleichauf mit der Geforce RTX 2080 Ti.

Geforce RTX 3070 - Test Video aufrufen
    •  /