在SIL执行期间调试生成的代码
如果SIL执行失败,或者您注意到原始函数的输出与生成的代码之间存在差异,您可以启用调试器重新运行SIL执行。通过插入断点,您可以观察代码段的行为,这可能有助于您了解问题的原因。
对于SIL执行失败,还可以在MATLAB中查看来自标准输出和标准错误流的信息®命令窗口。例如:
输出
printf
语句。如果启用运行时错误检测,则发送给
stderr
.一些低级的系统消息。
请注意
在SIL执行期间,SIL应用程序重定向stdout
而且stderr
流。当应用程序终止时,MATLAB命令窗口显示来自重定向流的信息。SIL应用程序还提供了一个基本的信号处理程序,用于捕获POSIX®信号我试
,SIGILL
,SIGABRT
,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执行并打开调试:
在生成代码页面,点击验证代码.
选择为SIL启用源级调试复选框。
点击运行生成的代码.
在Windows计算机上,您的
或user_fn
.c
文件打开,例如,在Microsoft Visual Studio的开始处带有调试器断点的IDEuser_fn
. cppuser_fn
_initialize
而且user_fn
功能。
现在可以使用调试器特性来观察代码行为。例如,您可以逐级检查代码和变量。
结束调试会话。
删除所有断点。
单击继续按钮(F5).
SIL执行运行到完成。
要终止SIL执行过程,请执行测试输出选项卡,单击后面的链接
终止执行
,例如,明确kalman01_sil
.的Microsoft Visual StudioIDE自动关闭。
请注意
如果您选择调试>停止调试, SIL执行超时,并返回如下错误信息:
通信错误:向目标发送数据失败。这次失败可能有多种原因. ... ...