25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
## 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
|