在mdlOutputs之后,Matlab与S函数崩溃

时间:2016-05-31 15:55:34

标签: c matlab simulink mex

我正在使用带有mdlStart mdlOutputs等的Matlab模板执行我的“主”S函数,它与我拥有的一些Ansi C文件进行通信,这个S函数是在Simulink中使用。我使用 mex 正确编译了文件,并且为了调试我正在使用Visual Studio 2015.我可以设置和使用断点,以便一切正常。

问题是,在完成'mdlOutputs'功能之后,所有内容都正确地打印到Matlab中,调试进入断点并进入'simulink.c'。之后,Debug被破坏,说找不到“libmex.pdb”。

如果我在循环中运行没有Visual Studio的Simulink模型,Matlab就会崩溃并停止工作。

那么,任何关于如何正确检查它给我一个错误的想法?另外,对于离开mdlOutputs之后和进入mdlTerminate之前进程崩溃的原因,您有什么线索吗?这两个函数之间发生了什么?

我正在使用Windows 7,64位和Matlab 2012b(我将尝试在2015b中运行它。)

1 个答案:

答案 0 :(得分:0)

我认为我终于找到了解决方案(尽管我还不太明白)。

在我mdlInitializeSizes(SimStruct *S) ssSetOptions(S, 0); ssSetOptions(S, SS_OPTION_EXCEPTION_FREE_CODE);之后var gulp = require('gulp'), $ = require('gulp-load-plugins')(); gulp.task('css', function () { return gulp.src('./assets/css') .pipe($.sass()) .pipe($.autoprefixer({ browsers: ['> 1%', 'last 2 versions', 'firefox >= 4', 'safari 7', 'safari 8', 'IE 8', 'IE 9', 'IE 10', 'IE 11'], cascade: false })) .pipe($.cleanCss()) .pipe(gulp.dest('./dest')); ,我建议使用here