---
title: msDebug工具使用"-O0 -g"编译算子时，stack frame size超出限制-昇腾社区
description: 出现以下报错：
keywords: stack frame size;msDebug
url: https://www.hiascend.com/document/caselibrary/detail/atlasopdev_0004
section: (其他)
---

# msDebug工具使用"-O0 -g"编译算子时，stack frame size超出限制-昇腾社区

URL: https://www.hiascend.com/document/caselibrary/detail/atlasopdev_0004
描述: 出现以下报错：
关键词: stack frame size;msDebug

昇腾文档 [了解详情](https://www.hiascend.com/document)

故障案例 [了解详情](https://www.hiascend.com/document/caselibrary)

msDebug工具使用"-O0 -g"编译算子时，stack frame size超出限制

msDebug工具使用"-O0 -g"编译算子时，stack frame size超出限制

2025/04/30

472

问题信息

| 问题来源 | 产品大类 | 产品子类 | 关键字 |
| --- | --- | --- | ---|
| 官方 | MindStudio | - | stack frame size、msDebug |

#### 问题现象描述

出现以下报错：

```
[ 33%] Building CCE object cmake/npu/CMakeFiles/reduce_sum_custom_npu.dir///reduce_sum_custom.cpp.o  
error: stack frame size (16024) exceeds limit (16000) in function '_ZN7AscendC9ReduceSumIDhEEvRKNS_11LocalTensorIT_EES5_S5_i'
error: stack frame size (16024) exceeds limit (16000) in function '_ZN7AscendC9ReduceSumIDhEEvRKNS_11LocalTensorIT_EES5_S5_i'
2 errors generated.
```

#### 原因分析

出现该错误代表核函数使用的栈空间过大，超过了硬件限制。

#### 解决措施

可通过以下两种方法进行解决：

- 手动增加编译选项 --cce-ignore-always-inline=true ，解除Ascend C相关函数声明时设置的inline属性，使函数运行正常跳转，减少栈空间使用大小。
- 更新编译器版本，将编译选项设置为 -O0 -g时，编译器会自动使能 --cce-ignore-always-inline=true。

使用ccec -v命令可查询编译器版本，建议使用2024-07及之后的编译器版本。

本页内容

- 问题信息
- 问题现象描述
- 原因分析
- 解决措施
