MATLAB可能会在以下所有条件都为真时崩溃:
A代码验证器分析c++代码可以显示红色正确性条件检查与消息无效函数调用。
结果细节中的相关消息提到了一个指向函数的指针,即使突出显示的表达式似乎不包含指向函数的指针。
Argument…的类型指针指向const数组,而函数的类型指针指向数组。< / font > < / p > < p >这个问题可能发生在特定的情况下与template-dependent函数调用参数,如:< / p > < p > <字体=“等宽字体”> std::找到(std::开始(…),std::结束(…),0),< / font > < / p >这个bug存在于以下版本(s): < br / > R2021a, R2021a, R2020b, R2020b, R2020a, R2020a, R2019b, R2019b, R2019a, R2019a, R2018b,R2018a, R2017b, R2017a, R2016b, R2016a, R2015b, R2015aSP1, R2015a, R2014b, R2014a, R2013b, R2013a, R2012b, R2012a, R2011b, R2011a, R2010b, R2010a, R2009b, R2009a, R2008b, R2007a, R2010b, r2000a, R2009b, R2009a, R2008b, R2007a(web发布)
感兴趣?< / >
当用于代码生成的子系统使用一个分配块,其中输出元素部分由输入数据端口值分配时,生成的代码和测试台可能会在验证期间由于计算出不正确的结果而失败。
该bug存在于以下版本:
如果您在C s函数中注册一个自定义数据类型,并使用一个具有此数据类型的信号作为触发子系统块的控制信号输入,那么在模拟中预期时,子系统可能不会执行。金宝app在这种情况下,Simulink不能正确地解释信号的负值。
This bug is Fixed in R2017a使用fwrite字符或字符串数据将导致错误的字节写入使用UTF-8编码的文件。
例如,该代码返回255。正确的输出是[207;168]。< / p > < >之前在祝辞fid = fopen(‘file.txt’,‘w’,‘n’,“utf - 8”);在比;写入文件(fid, char (1000));在比;文件关闭(fid);在比;fid = fopen(‘file.txt’,‘r’,‘n’,“utf - 8”);在比; bytes = fread(fid,'uint8') >> fclose(fid); bytes = 255 % But bytes should equal [207;168] This bug exists in the following release(s):
R2021a, R2020b, R2020a, R2019b, R2019a, R2018b, R2018a, R2017b, R2017a, R2016b, R2016a, R2015b, R2015aSP1, R2015a, R2014b, R2014a, R2013b, R2013a, R2012b, R2012a, R2011b, R2011a, R2010bSP2, R2010bSP1, R2010b, R2010a, R2009bSP1, R2009b, R2009a, R2008b, R2008a
This bug has a workaround
Interested in Upgrading?
当使用From Workspace块加载占用超过2147483647字节内存的数据时,MATLAB崩溃。通过将数据维的乘积乘以数据类型的内存需求,可以确定数据是否超过这个大小。例如,如果您加载400-by-200双矩阵信号,其中包含10000样本,计算:< / p > < blockquote > < p > <字体=“等宽字体”> 400 * 200 * 10000 * 8个字节= 6.4 e9字节< / font > < / p > < /引用> < p >因为<字体=“等宽字体”> 6.4 e9 < / font >字节数大于<字体=“等宽字体”> 2147483647 < / font > <字体=“无衬线”> (< / font > <字体=“等宽字体”> 2.14 e9 < / font > <字体=“无衬线”>)< / font >字节,使用From Workspace块加载整个信号将导致崩溃。如果仿真持续时间小于信号数据的时间范围,则可能不会发生崩溃。要确定在崩溃发生之前可以加载的信号量,发现样品的指数超过<字体=“等宽字体”> 2147483647 < / font >字节数除以<字体=“等宽字体”> 2147483647 < / font >一个示例所需的内存的信号:< / p > < blockquote > < p > <字体=“等宽字体”>祝辞祝辞oneSampleSize = 400 * 200 * 8; < / font > < / p > < p > <字体=“等宽字体”>祝辞祝辞crashIndex =
>>crashIndex =
3356
如果模拟时间范围只在index 3356之前使用信号值,不会发生崩溃。你可以通过将一个样本元素赋给一个变量来确定信号数据类型所使用的内存,然后使用 whoos 函数来显示关于变量的信息。 For example, if the data uses the structure format, use this code:The memory used by this data type (double) is 8 bytes.This bug exists in the following release(s):>>oneValue = data.signals.values(1);
>> whos oneValue
>>ans =
Name Size Bytes Class Attributes
one_sample 1x1 8 double
当覆盖结果从包含多个具有可变维度信号输入的块的模型的多个模拟中聚合时,Simulink coverage工具可能会错误地计算出比实际更小的总客观结果计数。金宝app尽管满意的客观结果的数量是正确的,但模型的覆盖率人为地很高,可能报告为大于100%。