2012-09-29 12 views
22

clear all; close all; clcですべてのMATLABスクリプトを開始する習慣があります。非常に有用な行ですが、実行するとすぐに、すべてのブレークポイントが消去されます。それを避ける簡単な方法はありますか?"すべてクリア"後にMATLABでブレークポイントを復元するには?

+2

私は、最も単純な方法は、 'すべてクリア 'ではなく'クリア 'を使うことだと思います。 –

答えて

22

私はブレークポイントを保存してリロードするスクリプトを作成することでこの問題を解決しました。便宜上、ショートカットに入れることもできます。

%# 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') 
+0

ありがとう!私は解決の大部分を理解したと思う。 'dbstop(tmp)'の行は何をしていますか? –

+0

もう1つ質問があります:それをショートカットに入れる方法は? –

+2

@ShashankSawant: 'dbstop(tmp)'は、変数 'tmp'に格納されているブレークポイントを設定します。ショートカットに入れるには、Matlab UIのどこに「新しいショートカット」と表示されているのかを見つけてそこにコピーして貼り付けるか、スクリプトを作成して実行時に実行するコードを入力するスクリプトの名前を書いてくださいショートカットの – Jonas

8

clear allは重いハンマーです。たとえば、メモリ内に既に解析されているすべてのMATLABコードもダンプします。単純なclearまたはone of the other optionsが通常はより良い選択であり、ブレークポイントは消去されません。

0

私は同じ問題を抱えていました。自分のコードを実行した後、すべてのブレークポイントが削除されました。最後に、「ブレークポイントの設定/クリア」(F12キーパッド)をクリックして、最後のブレークポイントを復元できることがわかりました。

関連する問題