多空间®代码验证程序™检查代码中的每个操作是否存在某些运行时错误,并将结果显示为红色、绿色或橙色检查。有关详细信息,请参阅代码验证程序结果和源代码颜色.
您必须查看红色或橙色检查并确定是否修复代码。下表列出了多空间码验证器执行,以及您可以如何查看它们。
检查 | 如何复习 | 细节 |
---|---|---|
未调用的函数 |
调查函数为什么不出现在从开始的调用图中 |
检查并修复未调用的函数检查 |
函数不可到达 |
确定函数的调用位置,并调查它们出现在无法访问的代码中的原因。 |
检查并修复无法访问的功能检查 |
非初始化局部变量 |
找到以前的变量初始化(如果有),看看您的程序是否可以绕过它们。 |
检查并修复未初始化的局部变量检查 |
非初始化指针 |
找到以前的指针初始化(如果有),并查看您的程序是否可以绕过它们。 |
检查并修复未初始化的指针检查 |
未初始化变量 |
找到全局变量之前的初始化(如果有),并查看您的程序是否可以绕过它们。 |
检查并修复未初始化的变量检查 |
返回值未初始化 |
识别通过函数体的路径,这些路径不会以 |
检查并修复未初始化的返回值检查 |
不可达代码 |
调查为什么代码中的条件语句是多余的,例如,总是true或总是false。 |
检查并修复无法访问的代码检查 |
检查 | 如何复习 | 细节 |
---|---|---|
除零 |
查看代码中导致分母为零值的先前操作。 |
检查并修复按零检查的除法 |
无效的移位操作 |
查看代码中先前导致移位量超出边界或负值左移位的操作。 |
检查并修复无效的轮班操作检查 |
溢流 |
检查代码中导致操作溢出的先前操作。 |
检查并修复溢出检查 |
检查 | 如何复习 | 细节 |
---|---|---|
绝对地址使用 |
检查代码中绝对地址的用法,确保地址有效。 |
查看并修复绝对地址使用检查 |
非法取消引用指针 |
查看代码中先前导致指针指向其分配内存缓冲区之外的操作。 |
检查并修复非法取消引用的指针检查 |
越界数组索引 |
查看代码中以前导致数组索引大于或等于数组大小的操作。 |
检查并修复越界数组索引检查 |
检查 | 如何复习 | 细节 |
---|---|---|
非终止呼叫 |
查看函数体中的操作,找出由于当前函数调用特定的问题而发生的运行时错误。 |
检查并修复非终止呼叫检查 |
非端接环路 |
检查循环中的操作,并确定为什么循环没有终止,或者为什么在其中一个循环运行中出现明确的运行时错误。 |
检查并修复非终止循环检查 |
检查 | 如何复习 | 细节 |
---|---|---|
无效的C++特定操作 |
确定非正数组大小或不正确使用的根本原因 |
检查并修复无效的C++特定操作检查 |
函数不返回值 |
识别通过函数体的路径,这些路径不会以 |
检查并修复不返回值检查的函数 |
不正确的面向对象编程 |
调查为什么某个 |
检查并修复不正确的面向对象编程检查 |
此指针调用方法为Null |
调查为什么指向当前对象的指针可以 |
检查并修复此指针调用方法检查的Null |
未捕获异常 |
研究异常如何从抛出它的函数中未捕获地逃逸。 |
检查并修复未捕获的异常检查 |
检查 | 如何复习 | 细节 |
---|---|---|
正确性条件 |
查找函数指针误用、数组转换不正确或变量值超出指定约束的根本原因。 |
检查并修复正确性条件检查 |
标准库例程的使用无效 |
调查当前对标准库例程的调用中的参数无效的原因。 |
检查并修复标准库例行检查的无效使用 |
用户断言 |
调查为什么会出现这种情况 |
检查并修复用户断言检查 |