Stoppen und Ausführung vom Debugger aus fortsetzen möglich?

Gibt es eine Möglichkeit, die Ausführung eines Matlab-Programms vom Debugger aus zu stoppen, wie es Strg + C tun, aber dann in der Lage zu sein, die Ausführung fortzusetzen (wie Sie es in C # sagen können)?

Wenn nicht, gibt es eine bessere Möglichkeit, dies zu umgehen, als vorbeugend Haltepunkte oder Dbstop-Anweisungen in Ihrem Matlab-Code zu setzen?

Ich möchte in der Lage sein, eine lange laufende Simulation zu unterbrechen, um den aktuellen Status anzuzeigen und dann die Simulation fortzusetzen.

Die beiden Optionen, die ich derzeit verwende / in Betracht ziehe, sind

dbstop-Befehle (oder (bedingte) Haltepunkte) im Code. Nachteil ist, dass ich manchmal die Simulation für ein paar Stunden nicht anhalten möchte, manchmal nach nur wenigen Sekunden anhalten möchte (und das weiß ich nicht unbedingt im Voraus) und dies bei diesem Ansatz nicht gut funktioniert: Wenn ich die Pausenbedingung auf alle 5 Minuten einstelle, kann ich matlab nicht stundenlang ohne Interaktion laufen lassen. Wenn ich die Bedingung auf höher stelle, muss ich zu lange warten, bis die Bedingung eintritt.

include Code, um den Arbeitsbereich alle paar Sekunden / Minuten zu speichern und den Arbeitsbereich in eine zweite matlab-Instanz zu importieren. Nachteil ist, dass dies ein großer Aufwand ist und es mir auch nicht unbedingt ermöglicht, die Simulation mit dem Status des gespeicherten Arbeitsbereichs fortzusetzen und dann den Code für einige Iterationen durchzugehen.

Ich hoffe, es gibt eine bessere Lösung als die beiden 2. Danke für jeden Rat!

Bearbeite: Ich denke, ich werde eine einfache Matlab-Funktion schreiben, die bei jeder Iteration eine Umgebungsvariable oder eine Datei auf der Festplatte überprüft und dbstop aufruft, wenn ich in dieser Datei oder in dieser Umgebung ein Flag setze. Auf diese Weise kann ich durch Bearbeiten der Datei steuern, wann (und falls erforderlich, welche von mehreren) der Haltepunkt von außerhalb von matlab trifft. Chaotisch, sollte aber funktionieren.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage