サーチ…


構文

  • dbstop ifファイルの位置if式

パラメーター

パラメータ詳細
ファイル .mファイルの名前(拡張子なし)。例えばfit 。このパラメータはdbstop if error場合はdbstop if naninf dbstop if errordbstop if errorなどの特別な条件付きブレークポイントタイプを設定しない限り(必須) dbstop if naninf
ロケーションブレークポイントを配置する行番号。指定された行に実行可能コードが含まれていない場合、ブレークポイントは指定された行の最初の有効な行配置されます。
表現ブール値に評価される任意の式またはその組み合わせ。例: ind == 1nargin < 4 && isdir('Q:\')

ブレークポイントの操作

定義

ソフトウェア開発では、 ブレークポイントはプログラム内で意図的に停止または一時停止する場所で、デバッグの目的で配置されます。

より一般的には、ブレークポイントは、実行中のプログラムに関する知識を取得する手段です。割り込み中、プログラマは、プログラムが期待どおりに機能しているかどうかを調べるために、テスト環境(汎用レジスタ、メモリ、ログ、ファイルなど)を検査します。実際には、ブレークポイントは、プログラムの実行をいつ中断すべきかを決定する1つ以上の条件で構成されます。

- ウィキペディア

MATLABのブレークポイント

動機

MATLABでは、ブレークポイントで実行が一時停止すると、現在のワークスペース( スコープ )または呼び出し元のワークスペースに存在する変数を検査(通常は変更)することができます。

ブレークポイントの種類

MATLABでは、 .mファイルに2種類のブレークポイントを配置することができます。

  • 標準(または「 制限なし 」)ブレークポイント(赤色で表示) - マークされた行に達するたびに実行を一時停止します。
  • "条件付き"ブレークポイント(黄色で表示) - マークされた行に到達し、ブレークポイントで定義された条件がtrueと評価されるたびに実行を一時停止しtrue

GUIの異なるブレークポイント記号

ブレークポイントの配置

両方のタイプのブレークポイントは、いくつかの方法で作成できます。

  • MATLABエディタGUIを使用して、行番号の横の水平線を右クリックします。

  • dbstopコマンドの使用:

    % Create an unrestricted breakpoint:
    dbstop in file at location
    % Create a conditional breakpoint:
    dbstop in file at location if expression
    
    % Examples and special cases: 
    dbstop in fit at 99 % Standard unrestricted breakpoint.
    
    dbstop in fit at 99 if nargin==3 % Standard conditional breakpoint.
    
    dbstop if error % This special type of breakpoint is not limited to a specific file, and
                    % will trigger *whenever* an error is encountered in "debuggable" code.
    
    dbstop in file % This will create an unrestricted breakpoint on the first executable line
                   % of "file".
    
    dbstop if naninf % This special breakpoint will trigger whenever a computation result 
                     % contains either a NaN (indicates a division by 0) or an Inf
    
  • キーボードショートカットの使用:Windowsで標準のブレークポイントを作成するためのデフォルトのキーはF12です。条件付きブレークポイントのデフォルトのキーは設定されていません

ブレークポイントの無効化と再有効化

ブレークポイントを一時的に無視するように無効にする:無効なブレークポイントは実行を一時停止しません。ブレークポイントを無効にするには、いくつかの方法があります。

  • 赤色/黄色のブレークポイントサークル>ブレークポイントを無効にするを右クリックします。
  • 条件付き(黄色)ブレークポイントを左クリックします。
  • [エディタ]タブ> [ブレークポイント]> [有効] \ [無効]をクリックします。

ブレークポイントの削除

すべてのブレークポイントは、手動または自動で削除されるまでファイル内に残ります。ブレークポイントは、MATLABセッションを終了すると自動的にクリアされます (プログラムの終了など)。ブレークポイントを手動でクリアするには、次のいずれかの方法を使用します。

  • dbclearコマンドの使用:

    dbclear all
    dbclear in file   
    dbclear in file at location    
    dbclear if condition
    
  • 標準のブレークポイントアイコンまたは無効な条件付きブレークポイントアイコンを左クリックします。

  • 任意のブレークポイントを右クリック> [ブレークポイントをクリア]をクリックします。

  • [エディタ]タブ> [ブレークポイント]> [すべてクリア]をクリックします。

  • R2015bより前のバージョンのMATLABでは、コマンドclearを使用しています。

実行を再開する

ブレークポイントで実行が一時停止されると、プログラムの実行を続けるには2つの方法があります。

  • 現在の行を実行し、次の行の前にもう一度一時停止します。

    エディタのF10 1 、コマンドウィンドウのdbstep 、Ribbon> Editor> DEBUGのステップ。

  • 次のブレークポイントまで実行します(ブレークポイントがもうない場合は、プログラムの最後まで実行されます)。

    エディタでF12 1 、コマンドウィンドウでdbcont 、リボン>エディタ> DEBUGで "続行"を選択します。


1 - Windowsではデフォルトです。

MATLABによって呼び出されるJavaコードのデバッグ

概要

MATLABの実行中に呼び出されるJavaクラスをデバッグするには、次の2つの手順を実行する必要があります。

  1. JVMデバッグモードでMATLABを実行します。
  2. JavaデバッガをMATLABプロセスに接続します。

MATLABをJVMデバッグモードで起動すると、コマンドウィンドウに次のメッセージが表示されます。

JVM is being started with debugging enabled.
Use "jdb -connect com.sun.jdi.SocketAttach:port=4444" to attach debugger.

MATLAB終了

Windows:

以下に示すように、MATLAB実行可能ファイル( matlab.exe )のショートカットを作成し、最後に-jdbフラグを追加します。

ここに画像の説明を入力

このショートカットJVMデバッグを使用してMATLABを実行すると、デバッグが有効になります。

あるいは、 java.optsファイルを作成または更新することもできます。このファイルは "matlab-root \ bin \ arch"に保存されます。ここで "matlab-root"はMATLABインストールのdirectoyで、 "arch"はアーキテクチャです(例えば "win32")。

ファイルに以下を追加する必要があります。

-Xdebug
-Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n

デバッガ終了

インテリジェントIDEA

このデバッガを接続するには、MATLABで公開されているポートで「リモートデバッグ」設定を作成する必要があります。

手順1:デバッグ設定を作成する

次に、デバッガが起動します。

ステップ2:デバッガを起動する

すべてが正常に動作している場合は、コンソールに次のメッセージが表示されます。

すべてが動作しているときのログ出力



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow