首页 文章

如何调试Matlab / Simulink?

提问于
浏览
0

我有一个使用 s_function 的Simulink模型,这是一个 mexw32 文件 . s_function 块也使用 .lib 模块 . 现在,当我试图在模拟结束之前运行模型Matlab崩溃并且在命令窗口中没有任何错误 . 如果Matlab崩溃,我有哪些调试选项?

2 回答

  • 1

    这是导致错误的S函数编写错误的典型行为 . 使用以下步骤调试它:http://www.mathworks.com/support/solutions/en/data/1-3KK6RK/

  • 1

    我不知道Simulink或S函数(从未使用它们),但通常在MEX文件段错误时,MATLAB将在大多数时间从它恢复,显示堆栈跟踪并将您置于"you need to restart MATLAB"命令提示符模式 . 您将在系统 %TMP% 文件夹中找到故障转储和错误日志文件 .

    正如其他人所说,如果您可以访问MEX函数的源代码,请使用调试符号重新编译它,将调试器附加到MATLAB,在调试器中放置断点,并通过从MATLAB调用它来启动MEX函数 . 进入C代码后,逐步调试代码,直到找到问题为止 .

    以下是更详细地描述此过程的相关doc page .


    您提到您的MEX可执行文件与外部库链接 . 因此,您可能还想检查问题的根源 .

相关问题