Page tree
Skip to end of metadata
Go to start of metadata

使用以下信息帮助验证分析:

问题 #1:在执行C/C++作业时过早停止分析

在分析过程中,可能会发生停止分析过程的错误。在下表中,您将找到与此相关的错误消息列表以及解决问题所需遵循的步骤:

消息

描述

消息级别

影响

解决办法

已根据用户请求取消分析。

用户已取消分析。

错误

分析结束。

重启分析。

发生运行时异常,分析被取消:<Reasons>

分析失败。

错误

分析没有任何结果就结束了。

联系eSupport。

请复制文件'PATH'并将其发送到CAST,以帮助分析问题。

此消息与上面的分析崩溃关联。请发送支持到错误消息中提到的预处理文件。

错误

分析没有任何结果就结束了。

联系eSupport并将预处理的文件发送给它们。

发生未知异常,分析取消。

分析失败。

错误

分析没有任何结果就结束了。

联系 eSupport。

致命错误:<Reason>

分析失败。

错误

分析没有任何结果就结束了。

联系 eSupport。

分析取消。

分析已取消。

错误

分析没有任何结果就结束了。

重启分析。如果再次面对此问题,请联系eSupport。

计算CRC时发现对象NAME的位置(开始、结束)无效:<list of positions>

内部错误。

错误

分析结果将损坏。

联系eSupport并将预处理的文件发送给它们。

分析器错误 <Details>

解析错误。

错误

分析结果可能会损坏。

联系eSupport并将预处理的文件发送给它们。

问题 #2: 缺失源代码

情况很明显:要么您没有完整的源代码,要么您为其配置了分析单元的操作系统与正在使用的系统头不匹配。 请在下面找到有关这些问题的错误消息:

消息

描述

消息级别

影响

解决办法

环境概要'PROFILE'中声明的无效包含路径<path>

包含文件的路径不正确。请改正。

错误

分析结果可能会损坏。

更改配置的定义或选择另一个配置。

配置<Message>(在解析阶段)

宏或包含文件未正确定义。可能缺少包含文件。

错误

分析结果可能会损坏。

更改配置或定义缺失的宏。

问题 #3:配置问题

有时,整个源代码是可用的,但与配置相关的问题可能会出现。幸运的是,错误消息(参见下表)突出显示了这些问题,使您能更正它们并改善结果的质量。

消息

描述

消息级别

影响

解决办法

无法打开文件 <name of the file>

无法打开文件

错误

分析结果将损坏。

检查文件是否可用(网络、权限等)或调用eSupport。

WiFi打开文件 'PATH' 并计算CRC. Reason: <reason>

无法打开文件

错误

分析结果将损坏。

检查文件是否可用(网络、权限等)或调用eSupport。

预处理器找不到文件 <name of the file>

缺失一份包含文件。

警告

分析结果可能损坏。

添加文件或更正包含路径。

选择以下文件进行分析,同时这些文件也包含在其他已分析文件中。如果使用不同的预处理上下文(例如不同的宏定义)对它们进行分析,这可能会导致分析中出现一些不一致。 也许您要考虑从选择中删除该/这些文件:POSLIST

选择以下文件进行分析,同时这些文件也包含在其他已分析文件中。

警告

分析结果可能损坏。

更正分析配置。

问题 #4: 关于对象名有歧义

在分析时,可能会出现与对象名称有关的问题。这可能意味着:

  • 要么可移植代码的宏中有问题(即用于多个操作系统的代码):某些函数被定义多次(每个操作系统一次)且宏会组织分析器只考虑其中一个函数。要看到这一点,应使用测试分析操作 — 查看定义函数的位置并看看应该在哪个预处理器条件下编译它们。
  • 或者(不太可能)有一些代码依赖于编译器的某些特定属性(这确实是不好的做法)。

下面是与这些问题有关的主要信息,包括影响和解决步骤:

消息

描述

消息级别

影响

解决办法

遇到空变量名(那是C++文件吗?)

有关空变量名的错误,最可能是由于早期的分析错误造成的。

警告

分析结果将损坏。

更正分析配置。

找到 'NAME'的几个定义。将追踪到每个定义的链接:<list of positions>

分辨误差。

警告

可能创建多余链接。

联系eSupport。

找到符号<symbol mangling>的几个定义:<list of positions>
在某些情况下,对该符号的引用将被复制。

在不同的源代码中找到同一对象的多个定义。

警告

分析将包含多余链接。

将分析单元分成几个部分。

找到<name of object>的几个定义。将创建两个对象:<list of positions>

在同一源代码中找到同一对象的多个定义。

警告

分析将包含多余链接。

将分析单元分成几个部分。

未解析标识符<name of identifier>

分辨误差。某些源代码可能缺失。

警告

一些丢失的链接。

更正分析配置或联系eSupport。

在未声明的情况下调用函数<name of the function>()

此消息只涉及C语言。包含文件缺失或不推荐使用C函数的文件。

警告

没有影响。

检查分析配置。

找不到方法/函数<name of the method>的父类或命名空间。对象将只保存在其父文件下。

源代码不完整。大部分带有类定义的时间标头都丢失了。

警告

分析结果可能损坏。

更正分析配置(包含路径)。

未知标识符 <name of the identifier>现在被认为是一种类型。

分析器已更正缺少的宏定义或包含文件。请完成宏定义列表以删除警告。

警告

没有影响。

更正分析配置。

问题 #5: 内存问题

如果在分析过程中遇到内存问题,CAST建议在运行分析时使用Windows执行工具,以检查进程是否使用了超过1.9 GB的内存。

如果是这种情况,就文件大小或文件编号而言,这意味着分析单元太大 — 您需要将分析单元拆分为多个较小的分析单元。

请注意,如果分析单元是同一父应用程序的部分,则CAST Management Studio会自动管理分析单元之间的依赖项。如有需要,请检查所有新分析单元配置中的所有包含文件是否都可用。

问题#6:其他问题

如果您仍然遇到问题,但这些问题都与上述主题无关,请检查以下消息:

消息

描述

消息级别

影响

解决办法

无法访问diags(拷贝字符串、字符数组……)中隐含的系统函数列表。某些diags可能不一致。

分析器无法访问系统功能列表。

错误

分析结果将损坏。

联系eSupport。

已为包含路径'PATH'设置“递归“标志。该标志通常是无用的,设置它通常是错误。

为包含文件定义的顺序不正确。

警告

分析结果将损坏。

删除“递归”标志。

文件<name of the file> 没有可执行代码。

这些文件只包含函数定义、宏或注释。

警告

分析结果可能损坏。

检查分析配置。

  • No labels