主要内容

在SIL执行期间调试生成的代码

如果SIL执行失败,或者您注意到原始函数的输出与生成的代码之间存在差异,您可以启用调试器重新运行SIL执行。通过插入断点,您可以观察代码段的行为,这可能有助于您了解问题的原因。

对于SIL执行失败,还可以在MATLAB中查看来自标准输出和标准错误流的信息®命令窗口。例如:

  • 输出printf语句。

  • 如果启用运行时错误检测,则发送给stderr

  • 一些低级的系统消息。

请注意

在SIL执行期间,SIL应用程序重定向stdout而且stderr流。当应用程序终止时,MATLAB命令窗口显示来自重定向流的信息。SIL应用程序还提供了一个基本的信号处理程序,用于捕获POSIX®信号我试SIGILLSIGABRT,SIGSEV.对于这个信号处理程序,SIL应用程序包含该文件signal.h

此表提供有关调试器支持的信息。金宝app

操作系统 金宝app调试器支持

窗户®

微软®Visual Studio®IDE。

Visual Studio代码与MinGW®GDB。需要安装MATLAB编码器™界面Visual Studio代码调试支持包,您可以从金宝appMATLAB中央™文件交换

macOS

LLDB。

Visual Studio代码LLDB。需要安装MATLAB编码器界面Visual Studio代码调试支持包,您可以从金宝appMATLAB中央文件交换

Linux®

GNU®数据显示调试器(DDD)。

Visual Studio代码GDB。需要安装MATLAB编码器界面Visual Studio代码调试支持包,您可以从金宝appMATLAB中央文件交换

请注意

只有当MATLAB产品系列支持您的金宝app微软Visual c++®Xcode,或GNU GCC编译器。有关更多信息,请参见金宝app支持编译器

运行SIL执行并打开调试:

  1. 生成代码页面,点击验证代码

  2. 选择为SIL启用源级调试复选框。

  3. 点击运行生成的代码

在Windows计算机上,您的user_fn.cuser_fn. cpp文件打开,例如,在Microsoft Visual Studio的开始处带有调试器断点的IDEuser_fn_initialize而且user_fn功能。

现在可以使用调试器特性来观察代码行为。例如,您可以逐级检查代码和变量。

结束调试会话。

  1. 删除所有断点。

  2. 单击继续按钮(F5).

    SIL执行运行到完成。

  3. 要终止SIL执行过程,请执行测试输出选项卡,单击后面的链接终止执行,例如,明确kalman01_sil

    Microsoft Visual StudioIDE自动关闭。

请注意

如果您选择调试>停止调试, SIL执行超时,并返回如下错误信息:

通信错误:向目标发送数据失败。这次失败可能有多种原因. ... ...

相关的话题