Main Content

C エンジンによって呼び出される MATLAB 関数のデバッグ

エンジン アプリケーションで使用する MATLAB® 関数を作成するときは、エンジン ライブラリ関数からその関数を呼び出す前に、MATLAB で実行することをお勧めします。

MATLAB 関数をエンジン アプリケーションに統合したら、dbstop とその他の MATLAB デバッグ コマンドを使用して、エンジン アプリケーションによって呼び出された関数をデバッグできます。アプリケーションを既存の MATLAB セッションに接続する場合を除いて、デバッグ コマンドを入力できるように、処理を一時停止するためのコードをアプリケーションに追加しなければならない場合があります。

Windows でのエンジン アプリケーションのデバッグ

Windows® で MATLAB 関数 myfcn を呼び出すエンジン アプリケーションがあるとします。myfcn の呼び出しの前に、次のステートメントをエンジン コードに追加します。このコードはユーザー入力を待機します。

fgetc(stdin);

エンジン アプリケーションを開始します。アプリケーションは MATLAB デスクトップと、MATLAB の Windows コンソール アプリケーションを開きます。デスクトップのコマンド プロンプトで、次のコマンドを入力します。関数が MATLAB パス上にあることを確認します。

dbstop("myfcn")

コンソール ウィンドウで、Enter キーを押します。MATLAB がデバッグ モードになります。デスクトップのコマンド ウィンドウにデバッグ コマンドを入力します。

既存の MATLAB セッションに接続されたエンジン アプリケーションのデバッグ

既存の MATLAB セッションの使用方法の詳細については、既存の MATLAB セッションへの接続を参照してください。エンジン アプリケーションによって呼び出された関数 myfcn をデバッグするには、最初に次のいずれかのコマンドを使用して MATLAB をオートメーション サーバーとして開始します。

  • システム プロンプトから:

    matlab.exe -automation
  • MATLAB コマンド プロンプトから:

    state = enableservice('AutomationServer',true);

MATLAB コマンド プロンプトで、以下のように入力します。

dbstop("myfcn")

エンジン アプリケーションを開始します。MATLAB がデバッグ モードになります。MATLAB コマンド ウィンドウにデバッグ コマンドを入力します。