3

次の問題があります。*。mファイルのセットの形式のMatlabプログラムがあります。後で実行可能ファイルにコンパイルされて使用されます。問題は、結果の実行可能ファイルがハングすることがあり、IDEから* .mファイルをデバッグ/実行するときにこの動作を再現できないことです(同じ入力データを使用している場合でも)。

私が意図したことを理解するために:

  • (どういうわけか)*。mファイルをC /C++にコンパイルします
  • C / C ++をデバッグとしてコンパイルして.exeと.pdbを取得し、後で.exeがハングしたときに、ビジュアルスタジオデバッガーをハングした.exeに接続して「ループ/待機」する場所を確認します。

残念ながら、Matlabコンパイラ(今日言われたように)は、実行可能ファイルを作成する前にC /C++コードを生成しません。私は、ドキュメントによると次のことを行うことになっているmccの-gオプションに誤解されました。

-g Generate Debugging Information

Include debugging symbol information for the C/C++ code generated by MATLAB Compiler.

アーカイブしたいものとまったく同じように見えます。誰かが私にその不一致を説明したり、私がやろうとしていることをアーカイブする方法を提案したりしていただければ幸いです(それが可能であれば)。

4

1 に答える 1

3

デプロイされたコードはMCRを使用するため、Matlabコンパイラでデバッグ可能なコードを作成することはできません。(Matlab仮想マシン)。

この質問を参照してください:Matlabデバッガーを使用してコンパイルされたコンポーネントをデバッグする方法はありますか?

エラーは発生せず、無限ループが発生するため、その場合の最善の解決策は画面出力であり、バグを追跡できることを願っています。

于 2012-01-06T08:20:57.313 に答える