| MATLAB Function Reference | ![]() |
表示
dbstop in mfile dbstop in mfile at lineno dbstop in mfile at subfun dbstop if error dbstop if warning dbstop if naninf dbstop if infnan
詳細
dbstop in mfile
は、mfileを実行する場合、mfileの実行を一時的に停止し、最初の実行可能ラインで、MATLABをデバッギングモードにします。グラフィカルなデバッギングが可能な場合、MATLAB Debuggerは、mfileの最初の実行可能ラインにブレークポイントを設定した状態でオープンします。そして、デバッギングユーティリティを使って、ワークスペースを表示したり、正しいMATLAB関数を使います。dbcont、または、dbstepを使って、mfileの実行を再開します。dbquit を使って、Debuggerから抜け出ることができます。
dbstop in mfile at lineno
は、mfileを実行したとき、ライン番号linenoの前で、実行を一時的に停止し、MATLABのデバッグモードになります。グラフィカルなデバッグが可能な場合、MATLAB Debugger は、ラインlinenoでブレークポイントをもった状態で、mfile
をオープンします。このラインが実行可能な状態でない場合、実行は停止し、ブレークポイントは、つぎの実行可能なラインlinenoに設定されます。実行が停止すると、デバッギングユーティリティを使って、ワークスペースを表示したり、正しいMATLAB関数を使います。dbcont、または、dbstepを使って、mfileの実行を再開します。dbquitを使って、Debuggerから抜け出ます。
dbstop in mfile at subfun
は、mfileを実行する場合、mfileの実行をサブ関数subfunの実行の前に、一時的に停止し、デバッグモードに入ります。グラフィカルデバッグ機能が可能な場合、MATLAB Debugger は、subfunで指定されるサブ関数にブレークポイントをもつmfileをオープンします。実行が停止すると、デバッギングユーティリティを使って、ワークスペースを表示したり、正しいMATLAB関数を使います。dbcont、または、dbstepを使って、mfileの実行を再開します。dbquitを使って、Debuggerから抜け出ます。
dbstop if error
は、ユーザが連続的に実行するM-ファイルが実行時エラーを起こす場合に実行を停止し、MATLABのデバッグモードに入り、エラーを生じたラインでポーズします。エラーの後に実行を再開することはできません。dbquitを使って、Debugger から抜け出ます。
dbstop if warning
は、ユーザが連続的に実行するM-ファイルが実行時ワーニングを生じる場合に実行を停止し、MATLABのデバッグモードに入り、ワーニングを生じたラインでポーズします。dbcont、または、dbstepを使って、実行を再開します。
dbstop if naninf
は、ユーザが連続的に実行するM-ファイルが、無限大値(Inf)を生じる場合に実行を停止し、MATLABのデバッグモードに入り、Infが発生したラインでポーズします。dbcont、または、dbstepを使って、実行を再開します。dbquit を使って、Debuggerから抜け出ます。
dbstop if infnan
は、ユーザが連続的に実行するM-ファイルが、NaNを生じる場合に実行を停止し、MATLABのデバッグモードに入り、NaNが発生したラインでポーズします。dbcont、または、dbstepを使って、実行を再開します。dbquitを使って、Debuggerから抜け出ます。
注意
UNIXデバッガ dbx に馴染みのあるキーワードat, in, if は、オプションです。
例題
つぎの例題で使用するファイルbuggyは、3つのラインから構成されています。
function z = buggy(x) n = length(x); z = (1:n)./x;
例題 1 - 最初の実行可能ラインで停止
dbstop in buggy buggy(2:5)
は、buggy の最初の実行可能なラインで実行を停止します。
n = length(x);
dbstep
を使って、つぎのラインに進み、nの値をチェックすることができます。
例題 2 - エラーが生じた場合に停止
buggy は、ベクトルにのみ作用するので、入力 x がフル行列の場合エラーになります。ステートメント
dbstop if error buggy(magic(3))
??? Error using ==> ./ Matrix dimensions must agree. Error in ==> c:\buggy.m On line 3 ==> z = (1:n)./x; K»
例題 3 - Inf の場合に停止
buggyで、入力xの要素のいずれかがゼロの場合、ゼロ割が生じます。ステートメント
dbstop if naninf buggy(0:2)
Warning: Divide by zero. > In c:\buggy.m at line 3 K»
参考
dbclear, dbcont, dbdown, dbquit, dbstack, dbstatus, dbstep, dbtype, dbup, partialpath
| dbstep | dbtype | ![]() |