## MODIFIED Requirements ### Requirement: Unterbrechbare step()-Ausführung Die VM SHALL als zustandsbehaftete, vom Einbetter getriebene Struktur ausführbar sein: An Anweisungsgrenzen prüft sie ein Flag-Wort und kann anhalten (Breakpoint auf (Modul, Zeile), Einzelschritt, Abbruchwunsch). Im angehaltenen Zustand MUST der Einbetter Variableninhalte (Skalare, Arrayelemente, UDT-Felder) inspizieren und die Ausführung fortsetzen können. Die Tick-Prüfung erfolgt nur an Anweisungsgrenzen, nicht pro Opcode. Ein Breakpoint SHALL durch Modulidentität und physische Quellzeile bestimmt sein. Gleiche Zeilennummern anderer Module MUST NOT denselben Breakpoint auslösen. #### Scenario: Breakpoint hält an - **WHEN** ein Breakpoint auf Zeile 10 gesetzt ist und die Ausführung Zeile 10 erreicht - **THEN** hält die VM vor der Anweisung an und meldet Modul und Zeile #### Scenario: Inspektion im Halt - **WHEN** die VM an einem Breakpoint steht - **THEN** liefert die Inspektions-API den aktuellen Wert einer benannten Variablen #### Scenario: Gleiche Zeile in zwei Modulen - **WHEN** ein Breakpoint auf Modul A, Zeile 10 gesetzt ist und Modul B Zeile 10 ausführt - **THEN** läuft B weiter; erst A Zeile 10 hält an