マトラボコードのブレークポイントについて

조회 수: 2 (최근 30일)
mayu
mayu 2023년 5월 19일
댓글: mayu 2023년 5월 24일
マトラボのコードで、ブレイクポイントを全クリアはできるのですが、全行に貼る方法はないでしょうか。
または、ここからここまで、と指定したらその間全部貼れるとかでもいいのですが。。。
ある程度経験のある人の場合は大体この辺とか予想がつくんだろうと思いますが、どこを通ってエラーになってるか分からないので、とりあえず全部に貼ってみたいのですが、そのようなメニュー探しても見当たらないので質問させていただきました。
手動でポチポチするしかないでしょうか。

답변 (3개)

Kojiro Saito
Kojiro Saito 2023년 5월 21일
指定した範囲に全てブレークポイントを貼る質問への直接的な回答ではないのですが、デバッグのコツとして「ステップ」とステップイン」があります。
ブレークポイントを貼った行で実行が一時停止されますが、その後に「ステップ」をクリックすると次の1行を実行します。また、「ステップイン」をクリックすると、そこで呼び出される関数のスクリプトを開いてデバッガーが移動します。
どこでエラーになっているか分かりづらいときに、ステップで1行ずつ実行、ステップインで呼び出される中の関数で1行ずつ実行することで、どこでException (例外処理)が起きてエラーになっているかが分かるようになります。

Kohei Ikeda
Kohei Ikeda 2023년 5월 19일
편집: Kohei Ikeda 2023년 5월 19일
全ての行にブレークポイントを貼る方法は存じ上げないのですが、
エラーブレークポイントと呼ばれるエラーが起きたらスクリプトの実行を一時停止する方法があります。
  1. [実行]の下にある▼をクリックします。
2. オプションが表示されるので、[エラーで一時停止]を選択します。
この設定をした後にスクリプトを実行すると、エラーが起きている箇所で一時停止するので、どこでエラーが起きているのか特定しやすくなると思います。
  댓글 수: 1
mayu
mayu 2023년 5월 23일
ご返信遅くなってしまい申し訳ございません。ご教示いただき、ありがとうございます。
App Designerで作成しているからなのか、添付いただいた画像と私の画面が少し異なっておりまして💦
貼り付けいただいたような、「エラーの取り扱い」というメニューが見当たりませんでした。
ただ、エラーが発生するとそこでストップしてマークが出ているので、これと同様の動作になりますでしょうか。。。
エラーの箇所はこれで一応わかるのですが、どのように通ってここで止まってるのか知りたいなと思っておりまして・・・
普通はそんなところはあまりみないでしょうかね💦

댓글을 달려면 로그인하십시오.


Atsushi Ueno
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 % すべてのブレークポイントをリストアップしてみる
  댓글 수: 1
mayu
mayu 2023년 5월 24일
ご返信が遅くなってしまい申し訳ございません、
スクリプトの作成までしていただきありがとうございますm(__)m
mファイルを作成してやったことがないのでちゃんと理解できてないのですが、範囲指定して使えるの便利なので、また活用させていただければと思います、
お忙しい中ありがとうございます❕

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 デバッグと解析에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!