MATLAB Language
デバッグ
サーチ…
構文
- dbstop ifファイルの位置if式
パラメーター
パラメータ | 詳細 |
---|---|
ファイル | .m ファイルの名前(拡張子なし)。例えばfit 。このパラメータはdbstop if error 場合はdbstop if naninf dbstop if error はdbstop if error などの特別な条件付きブレークポイントタイプを設定しない限り(必須) dbstop if naninf 。 |
ロケーション | ブレークポイントを配置する行番号。指定された行に実行可能コードが含まれていない場合、ブレークポイントは指定された行の最初の有効な行に配置されます。 |
表現 | ブール値に評価される任意の式またはその組み合わせ。例: ind == 1 、 nargin < 4 && isdir('Q:\') 。 |
ブレークポイントの操作
定義
ソフトウェア開発では、 ブレークポイントはプログラム内で意図的に停止または一時停止する場所で、デバッグの目的で配置されます。
より一般的には、ブレークポイントは、実行中のプログラムに関する知識を取得する手段です。割り込み中、プログラマは、プログラムが期待どおりに機能しているかどうかを調べるために、テスト環境(汎用レジスタ、メモリ、ログ、ファイルなど)を検査します。実際には、ブレークポイントは、プログラムの実行をいつ中断すべきかを決定する1つ以上の条件で構成されます。
- ウィキペディア
MATLABのブレークポイント
動機
MATLABでは、ブレークポイントで実行が一時停止すると、現在のワークスペース( スコープ )または呼び出し元のワークスペースに存在する変数を検査(通常は変更)することができます。
ブレークポイントの種類
MATLABでは、 .m
ファイルに2種類のブレークポイントを配置することができます。
- 標準(または「 制限なし 」)ブレークポイント(赤色で表示) - マークされた行に達するたびに実行を一時停止します。
- "条件付き"ブレークポイント(黄色で表示) - マークされた行に到達し、ブレークポイントで定義された条件が
true
と評価されるたびに実行を一時停止しtrue
。
ブレークポイントの配置
両方のタイプのブレークポイントは、いくつかの方法で作成できます。
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つの手順を実行する必要があります。
- JVMデバッグモードでMATLABを実行します。
- 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で公開されているポートで「リモートデバッグ」設定を作成する必要があります。
次に、デバッガが起動します。
すべてが正常に動作している場合は、コンソールに次のメッセージが表示されます。