Saving breakpoints in a script

Suppose I put breakpoints in a script. I want to save these breakpoints so that I can reuuse them in a next session.
I have seen
https://stackoverflow.com/questions/12657219/how-to-restore-breakpoints-in-matlab-after-clear-all
Then what would be the specific steps to save breakpoints? Shall I just put
%# store breakpoints
tmp = dbstatus;
save('tmp.mat','tmp')
%# clear all
close all
clear classes %# clears even more than clear all
clc
%# reload breakpoints
load('tmp.mat')
dbstop(tmp)
%# clean up
clear tmp
delete('tmp.mat')
at the beginning of the script?

 Accepted Answer

No, do not insert this into the script. Keep the information about debugging and the actual code separated.
When you want to store the breakpoints, call:
status = dbstatus;
save('DBStatus.mat', 'status')
and to restore them, run:
Data = load('DBStatus.mat');
dbstatus(Data.status);
Maybe you want to store this in a function.

5 Comments

It means I run this code on the command line? What will be the steps?
Jan
Jan on 1 May 2018
Edited: Jan on 1 Aug 2022
It depends, on what you want to do exactly. Let me guess this important detail...
function dbstore(Command)
File = fullfile(prefdir, 'DBStatus.mat');
if narging == 0
status = dbstatus;
save(File, 'status');
else
Data = load(File);
dbstop(Data.status); % [EDITED], Typo fixed
end
end
Store this file as "dbstore.m" in one of your user-defined folders. Now call
dbstore
to store the breakpoints and
dbstore restore
(or any other argument) to restore the last saved breakpoints, either after a clear all, dbclear or restart of Matlab.
The loading routine should call
dbstop(Data.status)
to set breakpoints, not "dbstatus".
This works, except for the last command I used dbstop(DataStat.status);

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products

Asked:

on 30 Apr 2018

Edited:

Jan
on 1 Aug 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!