选项卡:堆栈使用情况
任务配置编辑器中的选项卡
这个 堆栈使用情况 选项卡显示每个应用程序、每个任务以及最大调用堆栈中 POU 的当前堆栈使用情况。
显示信息的要求:应用程序代码已生成。这要么在登录控制器时自动完成,要么显式使用 构建 → 生成代码 命令。
覆盖目标设置中的默认堆栈大小 | 重要重写堆栈大小 可用堆栈大小 是专家函数。 仅当您激活此处的选项并确认随后出现的消息时,此输入字段才可用。该消息表明可能存在堆栈溢出的风险。可能会出现异常错误。
|
| 单击该按钮可重置中的值 可用堆栈大小 到默认的堆栈大小。默认堆栈大小在设备描述中定义。 |
可用堆栈大小 | 可用堆栈大小(以字节为单位) 示例: 最大堆栈大小在设备描述中指定。此默认堆栈大小被读取并应用为可用堆栈大小。 您可以更改该值,如果 覆盖目标设置中的默认堆栈大小 选项已激活。 编译器会在编译期间检查应用程序中的最大堆栈使用量,如果可能出现溢出,则根据计算出的大小报告错误。 |
外部调用的假定堆栈大小 | 堆栈大小(以字节为单位),假定外部调用运行时系统 示例:如果显示 24,则假定对外部函数的调用使用堆栈上的 24 字节 注意:堆栈使用量的计算结果始终是估计值。 外部调用的堆栈大小的一般估计值在设备描述中指定。该值用于计算。除非已为具有'属性的外部呼叫分配了特殊的估计值,estimated-stack-usage'。在这种情况下,首选特殊值。 |
任务/最大调用堆栈 | 在编译期间确定的调用堆栈(调用层次结构) 提示:如果此视图中的调用堆栈为空,则可以启动编译操作并调用 创建 → 生成代码 命令。然后即可获得有关堆栈使用情况的当前信息。 |
堆栈大小 | 每个调用 POU 使用的堆栈大小(以字节为单位) 或者堆栈大小通过任务的调用层次结构加起来 在编译期间,编译器计算最大调用链的最大堆栈使用量。 重要:当 POU 显示为红色时,表示已检测到此 POU 存在堆栈溢出。由于内存溢出,以下 POU 也显示为红色 |
有关更多信息,请参阅: 堆栈使用率的计算