マトラボコードのブレークポイントについて
18 ビュー (過去 30 日間)
古いコメントを表示
マトラボのコードで、ブレイクポイントを全クリアはできるのですが、全行に貼る方法はないでしょうか。
または、ここからここまで、と指定したらその間全部貼れるとかでもいいのですが。。。
ある程度経験のある人の場合は大体この辺とか予想がつくんだろうと思いますが、どこを通ってエラーになってるか分からないので、とりあえず全部に貼ってみたいのですが、そのようなメニュー探しても見当たらないので質問させていただきました。
手動でポチポチするしかないでしょうか。
0 件のコメント
回答 (3 件)
Kojiro Saito
2023 年 5 月 21 日
指定した範囲に全てブレークポイントを貼る質問への直接的な回答ではないのですが、デバッグのコツとして「ステップ」とステップイン」があります。
ブレークポイントを貼った行で実行が一時停止されますが、その後に「ステップ」をクリックすると次の1行を実行します。また、「ステップイン」をクリックすると、そこで呼び出される関数のスクリプトを開いてデバッガーが移動します。
どこでエラーになっているか分かりづらいときに、ステップで1行ずつ実行、ステップインで呼び出される中の関数で1行ずつ実行することで、どこでException (例外処理)が起きてエラーになっているかが分かるようになります。
0 件のコメント
Kohei Ikeda
2023 年 5 月 19 日
編集済み: Kohei Ikeda
2023 年 5 月 19 日
全ての行にブレークポイントを貼る方法は存じ上げないのですが、
エラーブレークポイントと呼ばれるエラーが起きたらスクリプトの実行を一時停止する方法があります。
- [実行]の下にある▼をクリックします。
2. オプションが表示されるので、[エラーで一時停止]を選択します。
この設定をした後にスクリプトを実行すると、エラーが起きている箇所で一時停止するので、どこでエラーが起きているのか特定しやすくなると思います。
Atsushi Ueno
2023 年 5 月 19 日
編集済み: Atsushi Ueno
2023 年 5 月 19 日
下記スクリプトで上手くいきました。下記は m ファイル (Untitled.m) に対するブレークポイント設定なので、必要に応じて対象ファイル名を変更してください。for 文で出来る事なら応用も効きます (下記の様に範囲を指定、2行おきにBP設定など) 。
start_line = 5; % ブレークポイント設定この行から
end_line = 20; % ブレークポイント設定この行まで
for r = start_line:1:end_line
eval(['dbstop in Untitled at ' num2str(r)]); % dbstop命令でブレークポイントを設定
end
dbstatus % すべてのブレークポイントをリストアップしてみる
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!