Как очистить персистентные переменные при хранении точек останова в MATLAB?

Существует ли способ очистить все персистентные переменные в функциях MATLAB при хранении точек останова в соответствующих функциональных файлах?

clear all;

и

clear functions;

оба уничтожают точки останова.

15
задан Philipp 25 March 2010 в 11:12
поделиться

2 ответа

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

После установки точек останова, которые вы хотите сохранить, используйте функцию dbstatus , чтобы получить структуру, содержащую эти точки останова, а затем сохранить эту структуру в файл MAT. После очистки переменных вы можете перезагрузить эти переменные, загрузив файл MAT и используя dbstop. Ниже приводится пример выполнения этой последовательности операций:

s=dbstatus;
save('myBreakpoints.mat', 's');
clear all
load('myBreakpoints.mat');
dbstop(s);
15
ответ дан 1 December 2019 в 02:19
поделиться

Если в @directories есть данные, вы все равно можете использовать метод, который RTBarnard предлагает

s=dbstatus('-completenames');
save('myBreakpoints.mat','s');
%# if you're clearing, you may as well just clear everything
%# note that if there is stuff stored inside figures (e.g. as callbacks), not all of 
%# it may be removed, so you may have to 'close all' as well
clear classes 
load('myBreakpoints.mat')
dbstop(s);

%# do some cleanup
clear s
delete('myBreakpoints.mat')
3
ответ дан 1 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: