Simulics Reverse Debugger für Embedded Plattformen
Einen Rückschritt voraus!
Beim herkömmlichen Debugging müssen Entwickler den Programmzustand an Haltepunkten sorgfältig untersuchen.
Einmal zu weit gelaufen, können vergangene Programmzustände nicht erneut inspiziert werden um zusätzliche Informationen zu gewinnen.
Das Programm muss neu gestartet werden.
Das ist nicht nur mühsam und lästig, sondern nicht deterministisches Verhalten, wie es z.B. durch IRQs und Race-Conditions verursacht wird, ist nicht in jedem Lauf identisch reproduzierbar.
Mit dem Simulics Reverse Debugger müssen Entwickler nicht bereits im Vorfeld wissen, wonach sie suchen.
Das Programm kann ohne Fehlerhypothese und ohne Breakpoints gestartet werden.
Nach Auftreten eines Fehlverhaltens können Entwickler in der Zeit zurücklaufen und untersuchen, was passiert ist.
Es ist nicht mehr notwendig, an Haltepunkten alle Informationen zu sammeln bevor die Programmausführung fortgesetzt wird.
Entwickler können das Programm vor und zurück laufen lassen, wie beim Vor- und Zurückspulen einer Kassette.
Jeder Punkt der Programmlaufzeit ist beliebig oft inspizierbar.
Normales Debugging – Neustart des Programms erforderlich
Reverse Debugging – Wir haben einen
Rewind Button hinzugefügt!
Features auf einen Blick:
- Freies Bewegen in der Programmlaufzeit, vorwärts und rückwärts
- Deterministische Analyse von IRQs und Race Conditions ohne Neustart des Programms
- Rücksprung zu Instruktionen, Quellcodezeilen, Funktionsaufrufen, Breakpoints und Watchpoints
- Vollständige Sichtbarkeit aller Register- und Speicherinhalte zu jedem Zeitpunkt
- Funktioniert für beliebige Betriebssysteme sowie Bare-Metal Anwendungen
- Benötigt kein Hardwaretarget