MATLAB/SimulinkのMEXによるS-FunctionをVisual Studioでデバッグ
こんにちは,櫻井朔@hajimesakuraiです.
長ったらしいタイトルですね. 以前述べたように,Mathworksは基本的に推奨していないようですが,MATLAB/SimulinkでS-FunctionをC言語などで作成したいときがあります.MATLAB言語で書いていればデバッグは容易ですが,C言語で書いているものはデバッグできない...わけではなく,実はVisual StudioやXcodeを使用すれば可能です.
コンパイルオプションの変更
通常はコンパイルするときのオプションは
mex -v -largeArrayDims hoge.cpp
で良いですが,デバッグをしたいときは
mex -g -largeArrayDims hoge.cpp
とします.これによりシンボリック情報の追加と,コードの最適化を無効にします.
Visual Studioの設定
コンパイルした.cや.cppファイルをVisual Studioで開き,「ctrl-alt-p」を押すか,「ツール」→「プロセスにアタッチ」を選択します.
すると,下図のように実行中のプログラムが表示されるので,「MATLAB」を選択します.これだけです.
以上によりデバッグが可能となり,例えばVisual Studio側でブレークポイントを置いてSimulinkのプログラムを実行すると,きちんとそこで止まってくれます.もちろん変数の参照なども可能です.
Visual Studioでは簡単なのですが,Xcodeでは若干手順が増えます).
是非活用してみてください.
それでは.
MATLAB and Simulink Student Suite R2015a
- 出版社/メーカー: MathWorks
- メディア: DVD-ROM
- この商品を含むブログを見る
- 作者: 加古孝,千葉文浩
- 出版社/メーカー: 丸善出版
- 発売日: 2014/12/11
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る