Остановить и продолжить выполнение из отладчика возможно?

Есть ли способ остановить выполнение программы matlab из отладчика, как это делает ctrl + c, но затем иметь возможность продолжить выполнение (как вы можете, скажем, c #)?

Если нет, есть ли лучший способ обойти это, кроме попыток упреждающей установки точек останова или операторов dbstop в вашем коде matlab?

Я хотел бы иметь возможность прервать длительную симуляцию, чтобы посмотреть текущее состояние, а затем продолжить симуляцию.

В настоящее время я использую / рассматриваю два варианта:

Команды dbstop (или (условные) точки останова) в коде. Недостатком является то, что иногда я не хочу останавливать симуляцию на несколько часов, иногда хочу остановиться через несколько секунд (и я не обязательно знаю это заранее), и это не работает с таким подходом: Если я устанавливаю условие прерывания на прерывание каждые 5 минут, я не могу оставлять Matlab работающим часами без взаимодействия. Если я установлю условие выше, мне придется слишком долго ждать, пока условие будет выполнено.

включите код для сохранения рабочей области каждые несколько секунд / минут и импортируйте рабочую область во второй экземпляр matlab. Недостаток в том, что это очень хлопотно и не обязательно позволяет мне продолжить симуляцию с состоянием сохраненного рабочего пространства, а затем выполнить код в течение нескольких итераций.

Я надеюсь, что есть лучшее решение, чем любой из 2. Спасибо за любой совет!

редактироватьЯ думаю, что я собираюсь сделать, это написать простую функцию matlab, которая проверяет переменную среды или файл на диске каждую итерацию и вызывает dbstop, если я установлю флаг в этом файле или env. Таким образом, я могу контролировать, когда (и при необходимости, какой из нескольких) точка останова попадает извне Matlab, редактируя файл. Грязно, но должно работать.

Ответы на вопрос(6)

Ваш ответ на вопрос