1

s_functionファイルであるを使用する Simulink モデルがありmexw32ます。s_functionブロックも.libモジュールを使用します。今、モデルを実行しようとすると、シミュレーションが終了する前に Matlab がクラッシュし、コマンド ウィンドウにエラーが表示されません。Matlab がクラッシュした場合のデバッグのオプションは何ですか?

4

2 に答える 2

1

Simulink や S-Function については知りませんが (使用したことはありません)、通常、MEX ファイルがセグメンテーション違反を起こした場合、MATLAB はほとんどの場合そこから回復し、スタック トレースを表示して、「MATLAB を再起動する必要があります」というメッセージが表示されます。コマンドプロンプトモード。%TMP%システムフォルダーには、クラッシュ ダンプとエラー ログ ファイルがあります。

他の人が言ったように、MEX 関数のソース コードにアクセスできる場合は、デバッグ シンボルを使用して再コンパイルし、デバッガーを MATLAB に接続し、デバッガーにブレークポイントを配置し、MATLAB から呼び出して MEX 関数を開始します。C コード内に入ったら、問題が見つかるまでコードを段階的にデバッグします。

これは、このプロセスをより詳細に説明している関連ドキュメントページです。


MEX 実行可能ファイルが外部ライブラリに対してリンクされていると述べました。そのため、問題の原因についても確認することをお勧めします。

于 2013-08-23T20:21:11.787 に答える