主要内容

getLineColumn

找到开始和结束的位置MATLAB代码生成中涉及的代码

描述

例子

startLocendLoc) = getLineColumn (obj返回MATLAB的第一个和最后一个字符的行和列索引®代码所描述的obj在包含代码的文件的文本中。所描述的代码obj是一个涉及代码生成的MATLAB函数或方法。

例子

startLocendLoc) = getLineColumn (obj_message返回导致所描述的代码生成消息的MATLAB代码的第一个和最后一个字符的行和列索引obj_message

例子

全部折叠

为代码生成过程创建报告信息对象。然后在包含该函数的文件中找到与代码生成相关的MATLAB函数。

定义MATLAB函数喷火

函数[b,c] = foo(a) b = svd(a,0);c = bar ();结束函数C = bar(a);结束

为。生成一个静态C库喷火.将输入指定为字符串标量。将代码生成报告信息导出到变量信息在你的基本MATLAB工作空间。

codegen配置:自由喷火arg游戏{“字符串标量”}-reportinfo信息

代码生成失败,因为字符串标量不是MATLAB函数的有效输入圣言会发票.代码生成器创建一个报告信息对象信息在MATLAB的基本工作空间。

房地产信息。功能是一个二维数组。info.Functions (1)包含MATLAB函数的描述喷火info.Functions (2)包含MATLAB函数的描述酒吧

手动检查功能酒吧,首先显示文件包含的文本酒吧

info.Functions .File.Text (2)
'函数[b,c] = foo(a) b = svd(a,0);c = bar ();函数c = bar(a);结束的

使用getLineColumn定位函数的开头和结尾酒吧在这个文本。输出startLoc的第一个字符的行索引和列索引酒吧.输出endLoc的最后一个字符的行索引和列索引酒吧

[startLoc, endLoc] = getLineColumn (info.Functions (2))
startLoc = struct with fields: Line: 6 Column: 1 endLoc = struct with fields: Line: 8 Column: 3

为失败的代码生成过程创建报告信息对象。然后找到导致错误消息的那部分MATLAB代码。

定义MATLAB函数喷火

函数B = foo(a) B = svd(a,0);结束

为。生成一个静态C库喷火.将输入指定为字符串标量。将代码生成报告信息导出到变量信息在你的基本MATLAB工作空间。

codegen配置:自由喷火arg游戏{“字符串标量”}-reportinfo信息

代码生成失败,因为字符串标量不是MATLAB函数的有效输入圣言会.代码生成器创建一个报告信息对象信息在MATLAB的基本工作空间。

房地产信息。消息是一个包含两个代码生成消息描述的二维数组。检查第一个消息的描述。

info.Messages (1)
带有属性的消息:Identifier: 'Coder:toolbox:unsupportedClass' T万博1manbetxype: 'Error' Text: 'Function 'svd'未为类'string'的值定义。'文件:[1×1编码器。StartIndex: 26 EndIndex: 33

要手动检查导致此错误消息的MATLAB代码段,首先显示与此错误消息相关的文件的文本。

info.Messages (1) .File.Text
'函数b = foo(a) b = svd(a,0);结束的

使用getLineColumn定位导致错误消息的部分代码的开头和结尾。输出startLoc包含代码段的第一个字符的行索引和列索引。输出endLoc包含代码段最后一个字符的行索引和列索引。

[startLoc, endLoc] = getLineColumn (info.messages (1))
startLoc = struct with fields: Line: 2 Column: 5 endLoc = struct with fields: Line: 2 Column: 12
这些位置对应于函数调用的开始和结束“圣言(0)'foo.m

输入参数

全部折叠

对象描述MATLAB函数或MATLAB类中涉及代码生成的方法,指定为以下之一:

一个编码器。消息对象,描述从MATLAB代码生成代码期间产生的错误、警告或信息消息。看到编码器。消息属性

输出参数

全部折叠

结构数组与两个字段:

  • startLoc。行是MATLAB代码在包含代码的文件文本中的第一个字符的行索引。

  • startLoc。列是MATLAB代码在包含代码的文件文本中的第一个字符的列索引。

结构数组与两个字段:

  • endLoc。行是MATLAB代码在包含代码的文件文本中的最后一个字符的行索引。

  • endLoc。列是MATLAB代码在包含该代码的文件的文本中最后一个字符的列索引。

介绍了R2019a