Rechtliche Nachrichten Krypto-Startups und Risikokapital

Aufzeichnen und Wiedergeben in einer VM auf macOS: Ein umfassendes Tutorial

Rechtliche Nachrichten Krypto-Startups und Risikokapital
Record/Replay in a VM on macOS: A Tutorial

Erfahren Sie, wie Sie mit rr. soft Programme in einer Linux-VM auf Apple Silicon macOS aufzeichnen und reproduzieren können, ohne auf Hardwareleistungszähler angewiesen zu sein.

Die moderne Entwicklung von Software erfordert zunehmend effiziente Debugging-Methoden, insbesondere wenn es darum geht, komplexe Programme oder ganze Systeme in virtuellen Maschinen zu analysieren. Auf Apple Silicon macOS kann das Aufzeichnen und Wiedergaben (Record/Replay) von Programmen innerhalb einer Linux-VM besonders herausfordernd sein, weil herkömmliche Werkzeuge oft auf Hardwareleistungszähler angewiesen sind, die in dieser Umgebung nicht ohne Weiteres verfügbar sind. Eine vielversprechende Lösung bietet hier das Werkzeug rr.soft, eine Variante des bekannten rr-Debuggers, die mittels Softwarezählern funktioniert und so eine präzise, hardwareunabhängige Aufzeichnung ermöglicht. Die Grundidee hinter Record/Replay-Systemen ist die Fähigkeit, die gesamte Ausführung eines Programms erfasst und im Fehlerfall exakt reproduziert zu können.

Dies erleichtert die Fehlersuche ungemein, da Entwickler Schritt für Schritt den Zustand eines Programms zurückverfolgen und analysieren können. Upstream rr arbeitet hierzu mit den Hardwareleistungszählern moderner CPUs, um die Ausführung exakt zu messen. Auf Apple Silicon und in Linux-VMs fehlt jedoch der Zugriff auf diese Hardwarefunktionen, was rr.soft durch dynamische oder statische Instrumentierung per Software ersetzt. rr.

soft erweitert den rr-Debugger so, dass keine direkten Hardware-Leistungszähler mehr benötigt werden. Stattdessen werden Softwarezähler eingesetzt, die die Ausführung des Programms verfolgen, indem sie beispielsweise jeden ausgeführten Branch zählen. Dadurch ist eine genaue zeitliche Analyse und Nachverfolgung der Programmlogik auch auf Plattformen möglich, die ansonsten keine Hardwareunterstützung bieten. Besonders für macOS-Anwender mit Apple Silicon stellt dies eine wichtige Neuerung dar, um hochwertige Debugging-Workflows innerhalb von Linux-VMs zu realisieren. Die Installation von rr.

soft erfordert zunächst ein voll funktionsfähiges Linux-System, entweder auf einem echten Gerät oder in einer virtuellen Maschine unter macOS. Für Apple Silicon Macs empfiehlt sich die Nutzung von VM-Lösungen wie UTM oder Podman, die die ARM-Architektur unterstützen. Alternativ kann auch QEMU über Homebrew installiert und konfiguriert werden. Nach dem Start der Linux-VM erfolgt die Installation von rr.soft über den GitHub-Repository, der detaillierte Anleitungen zur Kompilierung und Einrichtung des Software Counters Mode bietet.

Um das Prinzip von rr.soft praktisch nachvollziehen zu können, eignet sich das Beispielprogramm numvc – ein kleines Tool, das die Anzahl der Vokale sowie die Gesamtzahl an Zeichen aus der Standardeingabe zählt. Dieses in C geschriebene Programm nutzt dabei einen einfachen Pipe-Mechanismus und die Linux-Utility wc, um die Zeichenanzahl zu ermitteln. Interessanterweise ist das Programm gezielt mit einem kleinen Fehler ausgestattet, um das Debugging und die Nutzung von rr zu demonstrieren. Der Ablauf beim Debuggen mit rr.

soft beginnt mit der Aufzeichnung (Recording) der Programmausführung über den Befehl rr record -W, wobei das -W-Flag den Software Counters Mode aktiviert. Anschließend wird das Programm mit einem Bash-Kommando inklusive Pipe ausgeführt, um sicherzustellen, dass alle beteiligten Prozesse mit aufgezeichnet werden. Die erzeugte Aufnahme enthält somit sämtliche Prozessinformationen, Systemaufrufe und signifikanten Ereignisse in chronologischer Reihenfolge. Im Anschluss an die Aufzeichnung erfolgt die Wiedergabe (Replay), bei der mit rr replay -W -a die Ausführung exakt wie im Original abgespielt wird. Dies unterstützt auch die automatisierte Analyse ohne manuelle Eingriffe.

Darüber hinaus bietet rr Kommandos wie rr ps, um alle Programme und Threads innerhalb der Aufnahme zu inspizieren, was besonders bei komplexen Programmen mit mehreren Prozessen hilfreich ist. Die Besonderheit von rr gegenüber konventionellen Debuggern besteht in der Möglichkeit zur Reverse-Debugging-Technik. Diese erlaubt es, Schritte innerhalb des Programms rückwärts auszuführen – zum Beispiel mit reverse-step oder reverse-continue. Entwickler können somit Fehlerquellen viel einfacher lokalisieren, indem sie zu vorangegangenen Programmstellen zurückkehren und das Verhalten der Variablen und Funktionen erneut untersuchen. Für Entwickler, die sich tiefer mit den Interna von Programmen oder Bibliotheken wie glibc auseinandersetzen möchten, stellt das eine enorme Arbeitserleichterung dar.

Ein weiteres Highlight ist die Integration von debuginfo über debuginfod, welche gdb während einer rr-Wiedergabe automatisch herunterladen kann. Das erlaubt es, auch partiell oder gar nicht installierte Debugging-Informationen für externe Bibliotheken oder Hilfsprogramme wie wc auf Abruf verfügbar zu machen. Dies sorgt für ein nahtloses Debugging-Erlebnis auf verschiedenen Systemen und reduziert den Aufwand zur manuellen Konfiguration von Debug-Symbolen erheblich. Im Praxisbeispiel ließ sich bei numvc feststellen, dass einige Vokale nicht gezählt wurden, weil die Vokale „A“, „E“, „I“, „O“ und „U“ in Großbuchstaben nicht in der Liste berücksichtigt wurden. Der Fehler wurde mittels rr-Debugging schnell identifiziert und durch Erweiterung des Vokal-Arrays auf Groß- und Kleinbuchstaben behoben.

Dieses Beispiel veranschaulicht, wie nützlich Record/Replay-Debugging für die schnelle Fehlersuche sein kann. Zur Erhöhung der Stabilität und Performance bietet rr.soft darüber hinaus die Möglichkeit, den zu untersuchenden Code bereits bei der Kompilierung statisch mit Software Counters zu instrumentieren. Hierfür existiert ein spezielles gcc- und clang-Plugin, das in den Build-Prozess eingebunden werden kann. Im Gegensatz zum dynamischen Instrumentieren während der Laufzeit ist diese statische Methode robuster für größere, komplexe Anwendungen und wird besonders empfohlen, wenn mit der normalen rr.

soft-Laufzeitinstrumentierung Probleme auftreten. Zusätzlich zur klassischen Ereignis- und Prozessansicht zeigt rr in den Wiederholungen feingranulare Metriken wie „Ticks“ an, die die Anzahl der bedingten Branches oder wichtigen Instruktionen darstellen. Dies gibt Einblick in die interne Programmausführung und erlaubt exaktes Navigieren auf einer viel detaillierteren Zeitskala als nur anhand von Systemaufrufen. Während Upstream rr diese Ticks über Hardwareleistungszähler ermittelt, erzeugt rr.soft diese Zählungen softwarebasiert durch seine Instrumentierung.

Innerhalb der Record/Replay-Analysis bietet rr auch den Befehl rr dump, der eine vollständige Liste der Systemaufrufe und wichtigen Ereignisse entlang der Programmausführung aufzeigt. Dies hilft dabei, kritische Stellen wie Syscalls vom Typ wait4 zu finden, welche das Warten auf das Beenden von Kindprozessen regeln. Das kann bei Programmen mit Pipelines oder vielen Unterprogrammen entscheidend sein, um Verzögerungen oder Deadlocks zu diagnostizieren. Das Zusammenspiel aller Komponenten von rr.soft – der softwaregestützten Zähler, Record/Replay-Maschinerie, GDB-Integration mit Debuginfod und den statischen Instrumentierungsoptionen – macht das Werkzeug zu einer der wenigen praktikablen Methoden, um auf Apple Silicon Macs unter macOS schnelle und genaue Debugging-Sessions in Linux-Umgebungen umzusetzen.

Vor allem für Entwickler, die auf native Hardwareleistungszähler verzichten müssen, bietet rr.soft eine wegweisende Alternative. Insgesamt stellt die Arbeit mit rr.soft in einer Linux-VM auf Apple Silicon eine wichtige Neuerung dar, um auch auf dieser immer populärer werdenden Plattform professionelle Softwareentwicklung mit hoher Debugging-Qualität durchführen zu können. Trotz der noch jungen Entwicklungsphase und vereinzelten Bugs im Toolset zeigt sich das Potential, das Software Counters Mode rr bietet, um sonst schwierige Debugging-Aufgaben zuverlässig zu meistern.

Interessenten und Entwickler werden dazu eingeladen, rr.soft ausgiebig zu testen, Feedback oder Fehlerberichte über den GitHub-Issues-Bereich einzureichen und somit die Weiterentwicklung zu unterstützen. Eine ausführliche Dokumentation und Hilfestellungen stehen direkt im Repository bereit, damit der Einstieg möglichst einfach gelingt. Abschließend lässt sich sagen, dass die rr.soft-Variante in Verbindung mit bekannten Linux-VM-Lösungen auf macOS Apple Silicon heute eine der effektivsten Möglichkeiten ist, um den kompletten Programmlauf präzise aufzuzeichnen, wiederzugeben und zu debuggen – unabhängig von der Verfügbarkeit von Hardware-Leistungszählern.

Damit stellt es eine wertvolle Ergänzung für professionelle Entwickler dar, die das volle Potential moderner Virtualisierung und Debugging-Technologien nutzen möchten.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
Welcome to the AI Trough of Disillusionment
Donnerstag, 03. Juli 2025. Willkommen im Tal der Enttäuschungen: Die herausfordernde Phase der Künstlichen Intelligenz

Die Entwicklung der Künstlichen Intelligenz erlebt derzeit eine Phase der Ernüchterung, in der viele Unternehmen und Anwender mit verzögerten Ergebnissen und unzureichenden Fortschritten kämpfen. Dieses Phänomen, oft als Tal der Enttäuschung bezeichnet, beschreibt den schwierigen Übergang zwischen hohen Erwartungen und realen Anwendungen von KI-Technologien.

Data visualization: A view of every Points of View column (2013)
Donnerstag, 03. Juli 2025. Datenvisualisierung verstehen: Ein umfassender Überblick über die Points of View Kolumnen von Nature Methods

Ein tiefer Einblick in die wichtigsten Aspekte der Datenvisualisierung, basierend auf den Points of View Kolumnen von Nature Methods. Von Designgrundlagen über gezielten Farbeinsatz bis hin zu komplexen Visualisierungen – praktische Strategien für aussagekräftige wissenschaftliche Grafiken.

Polygon Co-Founder Mihailo Bjelic Exits Layer 2
Donnerstag, 03. Juli 2025. Polygon-Gründer Mihailo Bjelic verlässt Layer-2-Netzwerk: Ein Wendepunkt für die Blockchain-Plattform

Der Rückzug von Mihailo Bjelic, einem der Mitgründer von Polygon, markiert einen bedeutenden Wandel für das Layer-2-Netzwerk, das die Skalierbarkeit von Ethereum revolutionierte. Die Abreise wirft Fragen zur Zukunft des Projekts und dessen Einfluss im Blockchain-Bereich auf.

Crypto Bulls Lose $500M as Bitcoin Hovers Around $108K After Trump’s Tariff Threats
Donnerstag, 03. Juli 2025. Bitcoin unter Druck: $500 Millionen Verluste bei Krypto-Bullen nach Trumps Zollbedrohungen

Die jüngsten Zollankündigungen von Donald Trump haben erhebliche Auswirkungen auf den Kryptomarkt. Bitcoin und andere führende Kryptowährungen verzeichnen starke Kursrückgänge, während Liquidationen die Marktstimmung belasten und Anleger verunsichern.

Dogecoin, Cardano’s ADA, XRP Fall 7% in Weekend Bloodbath
Donnerstag, 03. Juli 2025. Krypto-Kurssturz am Wochenende: Dogecoin, Cardano’s ADA und XRP verlieren jeweils 7%

Der Kryptomarkt erlebte am Wochenende einen starken Kurseinbruch, bei dem Dogecoin, Cardano’s ADA und XRP jeweils um rund 7 % fielen. Die Marktkapitalisierung sank erheblich, da Investoren Gewinne mitnahmen und neue Unsicherheiten am Markt auftraten.

NVIDIA (NVDA)’s NVLink Tech in Focus, Price Target Set at $185
Donnerstag, 03. Juli 2025. NVIDIA NVLink Technologie im Fokus: Innovativer Durchbruch mit Zielkurs von 185 USD

Die NVLink-Technologie von NVIDIA revolutioniert die Chipvernetzung in der KI- und Datenzentrumsbranche. Mit der bevorstehenden Markteinführung von NVLink Version 6 und starken Partnerschaften positioniert sich NVIDIA als führender Innovator.

Salesforce (CRM) and Indeed Team Up, Use AI Agents to Ease Hiring Workflows
Donnerstag, 03. Juli 2025. Salesforce und Indeed: Wie KI-Agenten den Einstellungsprozess revolutionieren

Salesforce und Indeed setzen auf künstliche Intelligenz, um Recruiting- und Onboarding-Prozesse zu automatisieren und Unternehmen bei der effizienten Personalsuche zu unterstützen. Diese Zusammenarbeit zeigt, wie moderne Technologien die Personalbeschaffung vereinfachen und beschleunigen können.