主要内容gydF4y2Ba

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。gydF4y2Ba

ライブエディターでのコードのデバッグgydF4y2Ba

ライブスクリプトまたはライブ関数の問題を診断するには,ライブエディターでコードをデバッグします。ライブエディターでデバッグを行う方法はいくつかあります。gydF4y2Ba

  • セミコロンを削除して出力を表示する。gydF4y2Ba

  • (ここまで実行]ボタンを使用して,特定のコード行まで実行して一時停止する。gydF4y2Ba

  • [ステップイン]ボタンを使用して,一時停止中に関数およびスクリプトにステップインする。gydF4y2Ba

  • ファイルにブレークポイントを追加して,実行時に特定の行で一時停止できるようにする。gydF4y2Ba

出力の表示gydF4y2Ba

ライブスクリプトまたはライブ関数で問題が発生する箇所を特定する簡単な方法として,出力を表示します。行の出力を表示するには,その行の終わりからセミコロンを削除します。ライブエディターに各出力とその作成元のコード行が表示され,問題の発生箇所を簡単に判別することができます。gydF4y2Ba

たとえば,乱数データのベクトルをプロットし,プロット上に平均値を示す水平線を描画するgydF4y2BaplotRand.mlxgydF4y2Baというスクリプトがあるとします。gydF4y2Ba

2行目の関数gydF4y2Ba兰德gydF4y2Baの出力を表示するには,その行の終わりにあるセミコロンを削除します。ライブエディターに行番号が表示されない場合にこれを表示するには,gydF4y2Ba[ビュー]gydF4y2Baタブに移動してgydF4y2Ba[行番号]gydF4y2Baボタンをクリックします。MATLABgydF4y2Ba®gydF4y2BaにgydF4y2BargydF4y2Baの値が表示されます。gydF4y2Ba

(ここまで実行)gydF4y2Baを使用したデバッグgydF4y2Ba

出力の表示は1つの変数の状態を表示する場合に便利です。ワークスペース内のすべての変数の状態を確認するには,ライブスクリプトを実行し,指定されたコード行を実行する前に一時停止します。gydF4y2Ba

指定のコード行を実行してから一時停止するには,行の左側にある(ここまで実行)gydF4y2Baボタンをクリックします。選択した行に到達できない場合,MATLABはファイルの終わりかブレークポイントに達するまで実行を続けます。(ここまで実行]ボタンはデバッグ中のライブ関数でのみ使用できます。gydF4y2Ba

たとえば,gydF4y2BaplotRand.mlxgydF4y2Baの2行目の左側にあるgydF4y2Baボタンをクリックします。MATLABはgydF4y2BaplotRand.mlxgydF4y2Baを1行目から実行し,2行目を実行する前に一時停止します。gydF4y2Ba

MATLABが一時停止すると,gydF4y2Ba[ライブエディター]gydF4y2BaタブのgydF4y2Ba[実行]gydF4y2BaボタンがgydF4y2Ba[続行]gydF4y2Baボタンに変わります。ライブエディターではMATLABが一時停止された行が緑で強調表示されます。強調表示されている行は,MATLABが実行を再開するまで実行されません。gydF4y2Ba

ヒントgydF4y2Ba

MATLABの一時停止中にファイルを変更するのは避けることをお勧めします。MATLABが一時停止している間に行った変更は、MATLAB がコードの実行を完了した後で再実行されるまで実行できません。

コードの実行を続行するには,gydF4y2Ba[続行]gydF4y2Baボタンをクリックします。MATLABは、ファイルの終わりかブレークポイントに達するまでファイルを実行し続けます。次に実行を一時停止する箇所のコード行の左側にあるボタンをクリックすることもできます。gydF4y2Ba

コードの実行を行単位で続行するには,gydF4y2Ba[ライブエディター]gydF4y2BaタブのgydF4y2Ba[ステップ]gydF4y2Baをクリックします。MATLABは現在一時停止している行を実行し、次の行で一時停止します。

また,gydF4y2Ba[ライブエディター]gydF4y2Baタブに移動し,gydF4y2Ba[ステップ]gydF4y2Ba、gydF4y2Ba[カーソルまで実行)gydF4y2Baの順に選択して,カーソルのある行まで実行することもできます。gydF4y2Ba

デバッグ中の変数値の表示gydF4y2Ba

MATLABが一時停止している間に変数の値を表示するには,マウスポインターを変数に合わせます。変数の現在の値がデータヒントに表示されます。データヒントはポインターを移動するまで表示されます。データヒントを無効にするには,gydF4y2Ba[ビュー]gydF4y2Baタブに移動してgydF4y2Ba[データヒント]gydF4y2Baボタンをクリックします。gydF4y2Ba

コマンドウィンドウに変数名を入力して変数の値を表示することもできます。たとえば,変数gydF4y2BangydF4y2Baの値を表示するには,gydF4y2BangydF4y2Baと入力してgydF4y2Ba输入gydF4y2Baキーを押します。コマンドウィンドウに変数の名前とその値が表示されます。現在のワークスペースにあるすべての変数を表示するには,ワークスペースブラウザーを使用します。gydF4y2Ba

実行中のファイルの一時停止gydF4y2Ba

プログラムを実行中に一時停止するには,gydF4y2Ba[ライブエディター]gydF4y2Baタブに移動してgydF4y2Ba[一時停止]gydF4y2Baボタンをクリックします。MATLABは次の実行可能行で一時停止し、[一時停止]gydF4y2BaボタンがgydF4y2Ba[続行]gydF4y2Baボタンに変わります。実行を続けるには,gydF4y2Ba[続行]gydF4y2Baボタンをクリックします。gydF4y2Ba

一時停止は,実行時間の長いプログラムが予期したとおりに実行されていることを確認するために,その進行状況をチェックする場合に役立ちます。gydF4y2Ba

メモgydF4y2Ba

一時停止ボタンをクリックすると,自身のプログラムの外部から,MATLABをファイル内で一時停止させることができます。gydF4y2Ba[続行]gydF4y2Baボタンをクリックすると実行が再開され,ファイルの結果は変わりません。gydF4y2Ba

デバッグセッションの終了gydF4y2Ba

問題を特定した後は,gydF4y2Ba[ライブエディター]gydF4y2Baタブに移動し,gydF4y2Ba[停止]gydF4y2Baをクリックしてデバッグセッションを終了します。混乱を避けるため,デバッグを完了したら,毎回必ずデバッグセッションを終了してください。保存を行うと,ライブエディターは自動的にデバッグセッションを終了します。gydF4y2Ba

関数へのステップインgydF4y2Ba

デバッグ時には,呼び出されたファイルにステップインして,値を調べたい点で一時停止することができます。ファイルにステップインするには,ステップインする関数のすぐ左側にあるgydF4y2Baボタンをクリックします。gydF4y2Ba季gydF4y2Baキーを使用して関数にステップインすることもできます。ライブエディターでは,別の関数の呼び出しを含む行のみにこのボタンが表示されます。gydF4y2Ba

既定では,gydF4y2Baボタンはユーザー定義の関数とスクリプトについてのみ表示されます。MathWorksgydF4y2Ba®gydF4y2Ba関数に対してもボタンを表示するには,gydF4y2Ba[ホーム]gydF4y2BaタブのgydF4y2Ba[環境]gydF4y2BaセクションでgydF4y2Ba[基本設定]gydF4y2Baをクリックします。その後,gydF4y2Ba(MATLAB)gydF4y2Ba、gydF4y2Ba[エディター/デバッガー]gydF4y2Baを選択し,gydF4y2Ba[ライブエディターでのデバッグ]gydF4y2Baセクションで,gydF4y2Ba[[ステップイン]ボタンをユーザー定義関数にのみを表示)gydF4y2Baをオフにします。gydF4y2Ba

ステップインの後,ファイル先頭のgydF4y2Baボタンをクリックして,呼び出された関数の残りを実行し,呼び出された関数を出てから一時停止します。gydF4y2BaShift +季gydF4y2Baキーを使用して関数からステップアウトすることもできます。gydF4y2Ba

また,gydF4y2Ba[ライブエディター]gydF4y2Baタブに移動し,gydF4y2Ba[ステップ]gydF4y2Baを選択してからgydF4y2Ba[ステップイン]gydF4y2BaまたはgydF4y2Ba[ステップアウト]gydF4y2Baを選択することでも,関数へのステップインとそこからのステップアウトが可能です。これらのボタンは,gydF4y2Ba[[ステップイン]ボタンをユーザー定義関数にのみ表示)gydF4y2Baの基本設定には従わず,常にユーザー定義の関数とMathWorks関数の両方でステップインとステップアウトを実行します。gydF4y2Ba

ワークスペースでの変数の確認gydF4y2Ba

呼び出された関数またはファイルにステップインすると,MATLABが現在の行で一時停止する前に実行した関数のリストがライブエディターに表示されます。リストはファイルの先頭に表示され,関数が順番に並んでいます。最初に呼び出されたスクリプトまたは関数が左に,MATLABによって一時停止された現在のスクリプトまたは関数が右に表示されます。このリストはgydF4y2Ba“関数呼び出しスタック”gydF4y2Baと呼ばれます。gydF4y2Ba

関数呼び出しスタック内の各関数には,対応するワークスペースがあります。ワークスペースは,MATLAB内で作成した変数,またはデータファイルや他のプログラムからインポートした変数を格納します。コマンドウィンドウから代入される変数やスクリプトを使用して作成される変数は,ベースワークスペースに属します。関数内に作成される変数は,それ自身の関数ワークスペースに属します。gydF4y2Ba

デバッグ中に変数を確認するには,まずワークスペースを選択しなければなりません。関数呼び出しスタックで選択されている関数が現在のワークスペースを示します。ワークスペースを選択または変更するには,関数呼び出しスタックで関数をクリックします。MATLABがライブ エディターで関数を開き、現在のワークスペースをその関数のワークスペースに変更します。

ワークスペースを選択すると,ワークスペースブラウザーを使用して,またはライブエディターのデータヒントとして,変数の値を表示できるようになります。gydF4y2Ba

ブレークポイントを追加して実行gydF4y2Ba

実行のたびに一時停止したいコード行がファイルに含まれている場合,それらの行にブレークポイントを追加します。ライブエディターでブレークポイントを追加するには,ブレークポイントを設定する実行可能な行の左側にある,グレーの領域をクリックします。たとえば,このコードの3行目の横の領域をクリックして,その行にブレークポイントを追加します。gydF4y2BaF12gydF4y2Baキーを使用してブレークポイントを設定することもできます。gydF4y2Ba

ファイルを実行すると,MATLABは,ブレークポイントによって示されたコード行で一時停止します。gydF4y2Ba

ブレークポイントのクリアgydF4y2Ba

ファイルを閉じてから再び開いた場合,ブレークポイントは保存されています。gydF4y2Ba

ブレークポイントをクリアするには,ブレークポイントを右クリックし,コンテキストメニューからgydF4y2Ba[ブレークポイントのクリア]gydF4y2Baを選択します。gydF4y2BaF12gydF4y2Baキーを使用してブレークポイントをクリアすることもできます。gydF4y2Ba

ファイル内のすべてのブレークポイントをクリアするには,gydF4y2Ba[ファイル内をすべてクリアする]gydF4y2Baを選択します。gydF4y2Ba”“すべてのファイルからすべてのブレークポイントをクリアするには,gydF4y2Ba[すべてクリア]gydF4y2Baを選択します。gydF4y2Ba

ブレークポイントは,MATLABセッションを終了すると自動的にクリアされます。gydF4y2Ba

ブレークポイントの無効化gydF4y2Ba

選択したブレークポイントを無効化すると,プログラムがそれらのブレークポイントを一時的に無視し,中断せずに実行できるようになります。たとえば,問題を特定して修正した後にブレークポイントを無効にすることがあります。gydF4y2Ba

ブレークポイントを無効にするには,これを右クリックしてコンテキストメニューからgydF4y2Ba[ブレークポイントを無効にする]gydF4y2Baを選択します。ブレークポイントがグレーになり,無効であることが示されます。gydF4y2Ba

ブレークポイントを再び有効にするには,これを右クリックしてgydF4y2Ba[ブレークポイントを有効にする]gydF4y2Baを選択します。ファイル内のすべてのブレークポイントを有効または無効にするには,gydF4y2Ba[ファイル内のすべてのブレークポイントを有効にする]gydF4y2BaまたはgydF4y2Ba[ファイル内のすべてのブレークポイントを無効にする]gydF4y2Baを選択します。これらのオプションは,有効または無効にするブレークポイントが少なくとも1つ存在する場合のみ利用できます。gydF4y2Ba

条件付きブレークポイントの追加gydF4y2Ba

指定の行で一時停止するタイミングをMATLABに指示する条件をブレークポイントに追加できます。条件を追加するには,ブレークポイントを右クリックしてgydF4y2Ba(条件の設定/変更)gydF4y2Baを選択します。[エディター]ダイアログボックスが開いたら,条件を入力してgydF4y2Ba(好的)gydF4y2Baをクリックします。条件は,論理スカラー値を返す任意の有効なMATLAB式です。MATLABはその行を実行する前に条件を評価します。gydF4y2Ba

たとえば,gydF4y2BaplotRand.mlxgydF4y2Baで,ランダムな生成データにgydF4y2Ba0gydF4y2Baが含まれる場合にのみ一時停止するとします。gydF4y2Ba

3行目に次の条件をもつブレークポイントを追加します。gydF4y2Ba

任何(r = = 0)gydF4y2Ba
黄色い条件付きブレークポイントがその行に表示されます。gydF4y2Ba

ファイルを実行すると,条件が満たされる場合にMATLABが指定の行で一時停止します。たとえば,gydF4y2BaplotRandgydF4y2Baの例では,gydF4y2BargydF4y2Ba内のいずれかの値がgydF4y2Ba0gydF4y2Baに等しい場合3行目を実行する前にMATLABが一時停止します。gydF4y2Ba

無名関数でのブレークポイントの追加gydF4y2Ba

無名関数を含むMATLABコードの行には,複数のブレークポイントを追加できます。ブレークポイントは,その行自体と,行内の各無名関数に設定することができます。gydF4y2Ba

ブレークポイントを追加するには,ブレークポイントを追加する実行可能な行の左側にあるグレーの領域をクリックします。MATLABはその行にブレークポイントを追加し,行内の各無名関数には無効化されたブレークポイントを追加します。無名関数のブレークポイントを有効にするには,それを右クリックしてgydF4y2Ba[ブレークポイントを有効にする]gydF4y2Baを選択します。gydF4y2Ba

行にあるすべてのブレークポイントの情報を表示するには,ポインターをブレークポイントアイコンの上に置きます。ツールヒントに利用可能な情報が表示されます。次のコード例では5行目に無名関数が2つあり,それぞれにブレークポイントがあります。gydF4y2Ba

無名関数にブレークポイントを設定すると,MATLABは無名関数が呼び出されるときに一時停止します。緑で強調表示された行が,コードで無名関数が定義される場所です。グレーで強調表示された行が,コードで無名関数が呼び出される場所です。たとえば次のコードでは,MATLABは5行目で定義され6行目で呼び出される無名関数gydF4y2BaggydF4y2Baに設定されたブレークポイントでプログラムを一時停止します。gydF4y2Ba

関連するトピックgydF4y2Ba